一種通過瀏覽器內核解析html表格列操作的方法
2023-05-23 13:35:11 2
一種通過瀏覽器內核解析html表格列操作的方法
【專利摘要】本發明提出了一種通過瀏覽器內核解析HTML表格列操作的方法,所述方法包括以下步驟:a.在瀏覽器內核的解析器中增加對表格中TD節點的列屬性的解析功能;b.在表格初始化時將每個TD節點所在的列的序列值保存在列屬性中;c.通過該屬性匹配的列獲得相應列的TD節點;d.瀏覽器內核解析並顯示列變動後的HTML表格。本發明實現了HTML設計表格在進行rowspan或colspan操作後,瀏覽器中相應的列值顯示和實際查詢返回的結果值保持一致。同時,本發明補充了HTML語言在表格設計方面的不足,以更加有效的方式提供良好的用戶體驗。
【專利說明】—種通過瀏覽器內核解析HTML表格列操作的方法
【技術領域】
[0001]本發明涉及計算機【技術領域】,特別是涉及一種通過瀏覽器內核解析HTML表格列操作的方法。
【背景技術】
[0002]HTML是通向Web技術世界的鑰匙,以其簡易性、可擴展性、平臺無關性的特點受到廣泛的應用。無論在日常生活和工作中,還是在網頁設計中,表格通常都可以使信息更容易理解。HTML具有很強的表格功能,使用戶可以方便地創建出各種規格的表格,並能對表格進行特定的調整和修飾,從而使網頁更符合需求。在HTML中對表格進行合併操作時,使用的屬性有跨行合併:rowspan和跨列合併:colspan,通過設置屬性的值,即可實現行或列的合併。
[0003]但是HTML在進行合併操作後,在網頁顯示時存在一定的問題,對使用帶來不小的影響。以跨行合併為例,HTML的數據是以一維數組的形式來實現各種操作的,在使用rowspan屬性進行跨行合併之後,原來行數據的單元格對應的列的位置被佔掉,雖然其行的值沒有變化但列的位置卻後移了。在查詢有合併操作的列的信息時,返回的結果仍舊是變化前的列的信息,這樣就在視覺上給使用者帶來了幹擾。特別是在表格中行或列的合併操作比較多,發生位置變化的單元格就相應的多,在查詢時看到的列的內容和實際返回的查詢結果的列的內容差別會很大,對原有表結構裡的內容改變太大,且視覺上也不夠美觀。更進一步,在進行合併操作時,把被佔位的單元格的顯示內容刪除,表面上看只改變了個別列的內容,對原有表內容改變不大,但是在查詢該列內容時,其顯示仍然包括被後移的單元格的內容,幹擾性依然存在,不利於表的維護。
【發明內容】
[0004]針對以上問題,本發明提出了一種通過瀏覽器內核解析HTML表格列操作的方法,在瀏覽器內核的解析器中增加對表格中TD節點的列屬性的解析功能,在表格初始化時將每個TD節點所在列的序列值保存在列屬性中,進行合併操作時,獲得相應列的TD節點,最後通過瀏覽器內核解析並顯示。
[0005]為實現上述
【發明內容】
,本發明採用了 一種通過瀏覽器內核解析HTML表格列操作的方法,所述方法包括以下步驟:
[0006]a.在瀏覽器內核的解析器中增加對表格中TD節點的列屬性的解析功能;
[0007]b.在表格初始化時將每個TD節點所在的列的序列值保存在列屬性中;
[0008]c.通過該屬性匹配的列獲得相應列的TD節點;
[0009]d.瀏覽器內核解析並顯示列變動後的HTML表格。
[0010]當表格中新增rowspan或colspan屬性或原有rowspan或colspan屬性值增加時,刪除被rowspan或colspan的TD節點佔位的TD節點。
[0011]當表格中減小rowspan或colspan屬性值時,新增TD節點填補曾被rowspan或colspan的TD節點佔位。
[0012]所述新增TD節點時,根據rowspan或colspan屬性的變化值及所屬TD節點的列屬性為新增TD節點設置相應的列屬性。
[0013]與現有技術相比,本發明實現了 HTML設計表格在進行rowspan或colspan操作後,瀏覽器中相應的列值顯示和實際查詢返回的結果值保持一致。同時,本發明補充了 HTML語言在表格設計方面的不足,以更加有效的方式提供良好的用戶體驗。
【專利附圖】
【附圖說明】
[0014]圖1為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法的實施例流程圖;
[0015]圖2a為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法合併單元格前的效果圖;
[0016]圖2b為未採用本發明時HTML合併單元格後瀏覽器顯示的效果圖;
[0017]圖2c為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法合併和刪除單元格後的效果圖。
【具體實施方式】
[0018]為了使本發明所提到的一種通過瀏覽器內核解析HTML表格列操作的方法及其優點更加清楚明確,以下參照附圖對本發明進行更進一步的詳細說明。
[0019]圖1為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法的實施例流程圖。如圖1所示,該方法的主要流程如下:
[0020]步驟1,在瀏覽器內核的解析器中增加對表格中TD節點列屬性的解析功能。
[0021]使用時,需事先部署具有解析HTML表格中TD節點列屬性功能的瀏覽器。
[0022]步驟2,將每個TD節點所在的列的序列值保存在列屬性中。
[0023]在表格初始化時,在列屬性中保存TD節點所在列的序列值。
[0024]步驟3,新增合併操作。
[0025]這裡合併操作有兩種方式:跨行合併和跨列合併。每種合併操作又分增加和減少合併兩種情況,操作時根據實際需求進行相應的合併操作。
[0026]步驟4,獲得相應列的TD節點。
[0027]根據單元格列的變化匹配列的屬性,並刪除被rowspan或colspan的TD節點佔位的TD節點或者新增TD節點填補曾被rowspan或colspan的TD節點佔位。
[0028]步驟5,瀏覽器內核解析並顯示列變動後的HTML表格。
[0029]在瀏覽器中打開網頁顯示表格效果,查看單元格內容顯示位置是否正確和檢索返回的結果是否和實際表格顯示一致。
[0030]圖2a為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法合併單元格前的效果圖,該圖的內容部分為4行6列的單元格組成的表格,顯示該圖是為了與之後的效果圖進行比對。
[0031]圖2b為未採用本發明時HTML合併單元格後瀏覽器顯示的效果圖。在圖2a顯示效果的基礎上,對B3進行跨2行合併,對D2進行跨2列合併,合併後,第二行和第四行中單元格發生移動,E2、F2和B4、C4、D4、E4、F4列的位置發生變化。在查詢的時候,如果使用的瀏覽器內核未含解析HTML表格中列屬性的功能,那麼瀏覽器顯示的HTML查詢返回B列的結果為B1、B2、B3、B4,查詢返回的E列的結果為E1、E2、E3、E4。可以看到,查詢返回的結果和實際的顯示是有視覺上的差異的,特別是在表格中合併的操作比較多且表格行列未固定時,顯示的列中的單元格內容就會更加混亂,表格很難進行維護。
[0032]圖2c為本發明所提供的一種通過瀏覽器內核解析HTML表格列操作的方法合併和刪除單元格後的效果圖。在圖2a的基礎上,對B3進行跨2行合併,對D2進行跨2列合併,並刪除被B3覆蓋掉的單元格B4和被D2覆蓋掉的單元格E2。僅從圖的表面上看不出什麼差異,但在查詢的時候,如果使用的瀏覽器內核未含解析HTML表格中列屬性的功能,瀏覽器顯示的HTML查詢返回的B列的結果為B1、B2、B3、C4,查詢返回的E列的結果為El、E2、E3、F4 ;如果使用的瀏覽器內核含解析HTML表格中列屬性的功能,瀏覽器顯示的HTML查詢返回的B列的結果為B1、B2、B3、未定義(也可以顯示其他的內容,根據瀏覽器內核中解析器對列屬性的設置返回相應的內容),查詢返回的E列的結果為E1、未定義(也可以顯示其他的內容,根據瀏覽器內核中解析器對列屬性的設置返回相應的內容)、E3、E4。很明顯,在瀏覽器的內核不能解析列屬性的情況下查詢列中單元格內容,返回的結果和顯示的結果仍然有差異,而在瀏覽器的內核可以解析列屬性的情況下,返回的結果和顯示的結果是一致的。在表格中合併操作多的情況下,使用帶有解析列屬性的瀏覽器內核的方法效果會更顯著。
[0033]同樣,如果是減少合併的情況,在查詢和顯示時存在相同的問題,效果與前面效果圖類似,在此不再贅述。
[0034]以上所述是對本發明的較佳的【具體實施方式】,本【技術領域】人員應當理解,所述實施方式並非限定本發明的保護範圍。在不脫離本發明的精神實質和原則下,在細節方面可以進行變化或者修改,均應涵蓋在本發明的權利要求範圍之內。
【權利要求】
1.一種通過瀏覽器內核解析HTML表格列操作的方法,其特徵在於,所述方法包括以下步驟: a.在瀏覽器內核的解析器中增加對表格中TD節點的列屬性的解析功能; b.在表格初始化時將每個TD節點所在的列的序列值保存在列屬性中; c.通過該屬性匹配的列獲得相應列的TD節點; d.瀏覽器內核解析並顯示列變動後的HTML表格。
2.如權利要求1所述的一種通過瀏覽器內核解析HTML表格列操作的方法,其特徵在於,當表格中新增rowspan或colspan屬性或原有rowspan或colspan屬性值增加時,刪除被rowspan或colspan的TD節點佔位的TD節點。
3.如權利要求1所述的一種通過瀏覽器內核解析HTML表格列操作的方法,其特徵在於,當表格中減小rowspan或colspan屬性值時,新增TD節點填補曾被rowspan或colspan的TD節點佔位。
4.如權利要求3所述的一種通過瀏覽器內核解析HTML表格列操作的方法,其特徵在於,所述新增TD節點時,根據rowspan或colspan屬性的變化值及所屬TD節點的列屬性為新增TD節點設置相應的列屬性。
【文檔編號】G06F9/45GK103853588SQ201210512607
【公開日】2014年6月11日 申請日期:2012年12月5日 優先權日:2012年12月5日
【發明者】牟春林 申請人:蘇州精易會信息技術有限公司