欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

冗余文件清理方法、裝置和系統(tǒng)的制作方法_3

文檔序號(hào):9453080閱讀:來源:國知局
用,進(jìn)而表明CSS規(guī)則的代碼為非冗余的代碼。前述的網(wǎng)頁可以為多個(gè)網(wǎng)頁。
[0063]具體地,可以通過眾包的方式,在用戶訪問網(wǎng)頁時(shí),動(dòng)態(tài)地分析CSS規(guī)則與網(wǎng)頁的HTML DOM元素匹配情況。由于網(wǎng)站開發(fā)的頁面是給用戶使用的,因此用戶訪問到的頁面會(huì)包含所有的HTML應(yīng)用場景,這樣,可以使得用于和CSS規(guī)則進(jìn)行匹配的HTML的覆蓋率達(dá)到100%,從而不會(huì)有遺漏。并且這種方式可以部署在所有頁面上,所以所有頁面的數(shù)據(jù)都可以通過用戶訪問得到,從整站或這個(gè)應(yīng)用的角度,全面地進(jìn)行分析。并且在頁面中的JavaScript腳本執(zhí)行之后進(jìn)行分析,所有當(dāng)前用戶訪問頁面的動(dòng)態(tài)的CSS規(guī)則和HTML也都被覆蓋。這樣,可以避免由于HTML覆蓋面不全面而導(dǎo)致有用的CSS規(guī)則被當(dāng)成冗余代碼刪掉,以及由此導(dǎo)致的部分用戶訪問的頁面里的某些區(qū)塊不能正常顯示。
[0064]第二獲取單元30可以用于獲取不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件,并將不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件作為冗余文件。
[0065]在本發(fā)明實(shí)施例中,每個(gè)客戶端可以獲取自身不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件,并將不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件作為冗余文件,這樣,可以得到多個(gè)客戶端的多個(gè)冗余文件。例如,客戶端可以包括客戶端A和客戶端B,其中,客戶端A可以得到冗余文件A,客戶端B可以得到冗余文件B,這樣,客戶端可以得到冗余文件A和冗余文件B。
[0066]優(yōu)選地,客戶端可以將冗余文件發(fā)送至服務(wù)器,由于冗余文件的數(shù)據(jù)較大,因此,可以通過推送的方式將冗余文件發(fā)送至服務(wù)器。
[0067]刪除單元40可以用于刪除冗余文件。
[0068]如果確定CSS規(guī)則為冗余文件,則可以將其刪除。具體地,在各個(gè)客戶端確定自身的CSS規(guī)則為冗余文件時(shí),可以提醒用戶(例如程序員)將相應(yīng)的客戶端的冗余文件刪除?;蛘叻?wù)器通過匯總所有客戶端確定的冗余文件,確定所有客戶端的冗余文件,并提醒用戶(例如程序員)將所有客戶端的冗余文件刪除。需要說明的是,在服務(wù)器端可以通過執(zhí)行任意后端語言(比如Ruby, NodeJS, PHP, Java等)來實(shí)現(xiàn)。
[0069]優(yōu)選地,在本發(fā)明實(shí)施例中,第一獲取單元10可以包括:檢測(cè)模塊、判斷模塊、第一獲取模塊和第一解析模塊。
[0070]檢測(cè)模塊可以用于檢測(cè)目標(biāo)網(wǎng)頁的訪問狀態(tài)。其中,目標(biāo)網(wǎng)頁的訪問狀態(tài)可以包括目標(biāo)網(wǎng)頁正在被訪問或者沒有正在被訪問。
[0071]判斷模塊可以用于根據(jù)目標(biāo)網(wǎng)頁的訪問狀態(tài)判斷目標(biāo)網(wǎng)頁是否被訪問。具體地,可以根據(jù)目標(biāo)網(wǎng)頁的訪問狀態(tài)判斷目標(biāo)網(wǎng)頁是否正在被訪問。
[0072]第一獲取模塊可以用于如果判斷出目標(biāo)網(wǎng)頁被訪問,則獲取目標(biāo)網(wǎng)頁的樣式文件列表。其中,如果判斷出目標(biāo)網(wǎng)頁正在被訪問,則動(dòng)態(tài)地遞歸地獲取目標(biāo)網(wǎng)頁的樣式文件列表。例如,可以分別獲取內(nèi)聯(lián)的、外聯(lián)的和動(dòng)態(tài)依賴的樣式文件列表。
[0073]第一解析模塊可以用于從樣式文件列表中解析出級(jí)聯(lián)樣式表文件。其中,可以從內(nèi)聯(lián)的樣式文件列表中解析出內(nèi)聯(lián)的級(jí)聯(lián)樣式表文件、從外聯(lián)的樣式文件列表中解析出外聯(lián)的級(jí)聯(lián)樣式表文件、從動(dòng)態(tài)依賴的樣式文件列表中解析出動(dòng)態(tài)依賴的級(jí)聯(lián)樣式表文件。
[0074]這樣,可以找出所有的CSS文件,避免CSS文件覆蓋不全的情況。
[0075]優(yōu)選地,在本發(fā)明實(shí)施例中,第一解析模塊還可以用于從樣式文件列表中解析出內(nèi)聯(lián)的級(jí)聯(lián)樣式表文件。具體地,可以解析Style標(biāo)簽獲取內(nèi)聯(lián)樣式文件列表,并從內(nèi)聯(lián)樣式文件列表中解析出內(nèi)聯(lián)的級(jí)聯(lián)樣式表文件。第一解析模塊還可以用于從樣式文件列表中解析出外聯(lián)的級(jí)聯(lián)樣式表文件。具體地,可以解析link標(biāo)簽獲取外聯(lián)樣式文件列表,并從外聯(lián)樣式文件列表中解析出外聯(lián)的級(jí)聯(lián)樣式表文件。第一解析模塊還可以用于從樣式文件列表中解析出動(dòng)態(tài)依賴的SS文件。具體地,可以判斷級(jí)聯(lián)樣式表文件的內(nèi)容中是否包含@import規(guī)則,如果判斷出級(jí)聯(lián)樣式表文件的內(nèi)容中包含Oimport規(guī)則,則獲取外聯(lián)樣式文件列表,并且加載外聯(lián)的級(jí)聯(lián)樣式表文件,獲取CSS的內(nèi)容。
[0076]優(yōu)選地,在本發(fā)明實(shí)施例中,判斷單元20可以包括:第二解析模塊和匹配模塊。
[0077]第二解析模塊可以用于從級(jí)聯(lián)樣式表文件中解析出級(jí)聯(lián)樣式表選擇器列表。
[0078]匹配模塊可以用于將級(jí)聯(lián)樣式表選擇器列表與預(yù)設(shè)網(wǎng)頁的HTML DOM元素進(jìn)行匹配。
[0079]其中,如果級(jí)聯(lián)樣式表選擇器列表與預(yù)設(shè)網(wǎng)頁的HTML DOM元素匹配,則確定級(jí)聯(lián)樣式表選擇器列表對(duì)應(yīng)的級(jí)聯(lián)樣式表文件滿足預(yù)設(shè)冗余匹配條件,如果級(jí)聯(lián)樣式表選擇器列表與預(yù)設(shè)網(wǎng)頁的HTML DOM元素不匹配,則確定級(jí)聯(lián)樣式表選擇器列表對(duì)應(yīng)的級(jí)聯(lián)樣式表文件不滿足預(yù)設(shè)冗余匹配條件。
[0080]在本發(fā)明實(shí)施例中,可以通過分析CSS文件內(nèi)容來解析CSS選擇器列表。具體地,可以通過正則匹配的分析方法來分析CSS文件內(nèi)容。因?yàn)镃SS的規(guī)則定義全部都是下面這樣的格式:選擇器{屬性:值;屬性:值;……},因此,可以通過正則/([~\{}+]\{[~\]+}\)/g來獲取到所有的CSS選擇器列表。
[0081]預(yù)設(shè)網(wǎng)頁可以為用戶正在訪問的所有的頁面。通過將級(jí)聯(lián)樣式表選擇器列表與現(xiàn)有頁面的HTML DOM元素進(jìn)行匹配,得出不匹配的CSS選擇器列表。這里,可以使用每一個(gè)CSS選擇器在HTML里進(jìn)行DOM元素查找,其中,查找方式可以是瀏覽器內(nèi)置的查找方式,具體地,可以是:document.querySelector (CSS Selector)。
[0082]將級(jí)聯(lián)樣式表選擇器列表與預(yù)設(shè)網(wǎng)頁的HTML DOM元素進(jìn)行匹配,可以分別得到與預(yù)設(shè)網(wǎng)頁的HTML DOM元素匹配的級(jí)聯(lián)樣式表選擇器列表和與預(yù)設(shè)網(wǎng)頁的HTML DOM元素不匹配的級(jí)聯(lián)樣式表選擇器列表。其中,對(duì)與預(yù)設(shè)網(wǎng)頁的HTML DOM元素匹配的級(jí)聯(lián)樣式表選擇器列表不做任何處理,即,保留與預(yù)設(shè)網(wǎng)頁的HTML DOM元素匹配的級(jí)聯(lián)樣式表選擇器列表的相應(yīng)代碼。對(duì)與預(yù)設(shè)網(wǎng)頁的HTML DOM元素部匹配的級(jí)聯(lián)樣式表選擇器列表,可以將其作為冗余的級(jí)聯(lián)樣式表選擇器列表代碼,并將其刪除。
[0083]需要說明的是,在本發(fā)明實(shí)施例中,多個(gè)客戶端可以獲取與預(yù)設(shè)網(wǎng)頁的HTML DOM元素不匹配的級(jí)聯(lián)樣式表選擇器列表的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送至服務(wù)器。由于級(jí)聯(lián)樣式表選擇器列表的數(shù)據(jù)量加大,因此可以通過post的方式將該數(shù)據(jù)發(fā)送至服務(wù)器。另外,多個(gè)客戶端除了將不匹配的級(jí)聯(lián)樣式表選擇器列表的數(shù)據(jù)post到服務(wù)器之外,還可將與不匹配的級(jí)聯(lián)樣式表選擇器列表相對(duì)應(yīng)的CSS文件的URL地址發(fā)送至服務(wù)器。
[0084]優(yōu)選地,在本發(fā)明實(shí)施例中,第二獲取單元30可以包括:第二獲取模塊、第一確定模塊和第二確定模塊。
[0085]第二獲取模塊可以用于獲取多個(gè)客戶端獲取到的不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件。
[0086]第一確定模塊可以用于確定多個(gè)客戶端獲取到的不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件中的級(jí)聯(lián)樣式表文件的交集。
[0087]第二確定模塊可以用于將級(jí)聯(lián)樣式表文件的交集作為冗余文件。
[0088]這樣,可以避免對(duì)一個(gè)客戶端無用,而對(duì)其他的客戶端有用的級(jí)聯(lián)樣式表文件被誤刪除,進(jìn)而可以防止部分用戶訪問的頁面里的某些區(qū)塊不能正常顯示。
[0089]具體地,服務(wù)器可以接收多個(gè)客戶端通過post的方式發(fā)送的各自不滿足預(yù)設(shè)冗余匹配條件的級(jí)聯(lián)樣式表文件的數(shù)據(jù)。需要說明的是,服務(wù)器在接收到各個(gè)客戶端post的數(shù)據(jù)之后,一方面,可以存儲(chǔ)不匹配的CSS選擇器列表(即冗余的CSS選擇器列表)和與之對(duì)應(yīng)的CSS文件的URL路徑,其中,服務(wù)器可以以CSS文件的URL地址為key進(jìn)行存儲(chǔ);另一方面,可以對(duì)不匹配的CSS選擇器列表的數(shù)據(jù)進(jìn)行分析。例如,服務(wù)器可以從存儲(chǔ)器中取出不匹配的CSS選擇器列表的數(shù)據(jù),并按CSS文件的URL地址進(jìn)行歸類。其中,可以將屬于同一類別的CSS文件的URL下的規(guī)則做交集處理,分析得出最終的CSS冗余列表。
[0090]例如,可以通過以下方式得到級(jí)聯(lián)樣式表文件的交集:比如客戶端甲的數(shù)據(jù)可以是選擇器A和選擇器B,客戶端乙的數(shù)據(jù)可以是選擇器B和選擇器C,那么說明用戶甲用到了選擇器C,而用戶乙用到了選擇器A。所以只有選擇器B是冗余的CSS規(guī)則。
[0091]通過本發(fā)明的上述實(shí)施例,采用眾包的方式,在用戶訪問網(wǎng)站中的頁面時(shí),獲取所有HTML場景,并配合CSS規(guī)則進(jìn)行分析,然后通過服務(wù)器匯總所有數(shù)據(jù),分析得出準(zhǔn)確的CSS冗余規(guī)則列表,并將其刪除,解決了相關(guān)技術(shù)中靜態(tài)分析級(jí)聯(lián)樣式表里的規(guī)則導(dǎo)致分析不全面的問題,達(dá)到了動(dòng)態(tài)而全面的分析級(jí)聯(lián)樣式表里的規(guī)則的效果。
[0092]根據(jù)本發(fā)明的實(shí)施例,提供了一種冗余文件清理方法,該冗余文件清理方法用于動(dòng)態(tài)的分析級(jí)聯(lián)樣式表里的規(guī)則是否存在冗余,并將冗余的級(jí)
當(dāng)前第3頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德保县| 武强县| 密山市| 达尔| 新兴县| 永福县| 高尔夫| 灵山县| 浦东新区| 乌兰察布市| 济阳县| 普陀区| 象州县| 吉安县| 玛多县| 钦州市| 甘孜县| 农安县| 锦屏县| 科技| 高雄县| 鸡西市| 牡丹江市| 呼玛县| 江山市| 怀集县| 阜康市| 仁寿县| 阳信县| 陇川县| 犍为县| 彰化县| 浦江县| 武隆县| 湖口县| 丰镇市| 白玉县| 祁东县| 仁化县| 旺苍县| 盐山县|