本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)頁處理方法和裝置。
背景技術(shù):
使用瀏覽器打開網(wǎng)頁時(shí),很多網(wǎng)頁往往會(huì)顯示很多非常規(guī)的網(wǎng)頁元素,例如,廣告、欺詐、虛假、低俗內(nèi)容等與網(wǎng)頁主題無關(guān)且具有一定騷擾性的網(wǎng)頁元素,這些網(wǎng)頁元素在網(wǎng)頁中的存在給用戶瀏覽網(wǎng)頁帶來很大不便。例如,在下載網(wǎng)站下載軟件時(shí)往往會(huì)被誤導(dǎo)去下載一個(gè)惡意的軟件。又如,通過網(wǎng)站提供的鏈接跳轉(zhuǎn)到某個(gè)網(wǎng)站時(shí),往往會(huì)被誘導(dǎo)到一個(gè)不相關(guān)的網(wǎng)站或者欺詐網(wǎng)站。
傳統(tǒng)技術(shù)中,通常在網(wǎng)頁渲染前會(huì)對(duì)網(wǎng)頁中的非常規(guī)元素進(jìn)行過濾。然而,由于是在網(wǎng)頁渲染前對(duì)非常規(guī)元素進(jìn)行過濾,用戶無法感知,且如果過濾的效果不佳時(shí),渲染后的網(wǎng)頁中仍然會(huì)存在大量的非常規(guī)元素。因此,傳統(tǒng)技術(shù)中,網(wǎng)頁中顯示的非常規(guī)元素?zé)o法進(jìn)行過濾,如果網(wǎng)頁中的正常內(nèi)容和非常規(guī)元素隨機(jī)變化時(shí),傳統(tǒng)的這種網(wǎng)頁處理方式將導(dǎo)致過濾不精確,從而導(dǎo)致過濾非常規(guī)元素的效果不佳。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)上述技術(shù)問題,提供一種能使得網(wǎng)頁中非常規(guī)元素過濾得更精確的網(wǎng)頁處理方法和裝置。
一種網(wǎng)頁處理方法,所述方法包括:
獲取待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后的網(wǎng)頁元素;
檢測(cè)所述網(wǎng)頁元素中是否存在非常規(guī)元素;
如果所述網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示;
獲取對(duì)所述交互入口的觸發(fā)操作,響應(yīng)所述觸發(fā)操作將所述非常規(guī)元素進(jìn)行過濾。
一種網(wǎng)頁處理裝置,所述裝置包括:
網(wǎng)頁元素獲取模塊,用于獲取待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后的網(wǎng)頁元素;
非常規(guī)元素檢測(cè)模塊,用于檢測(cè)所述網(wǎng)頁元素中是否存在非常規(guī)元素;
圖標(biāo)生成模塊,用于如果所述網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示;
過濾模塊,用于獲取對(duì)所述交互入口的觸發(fā)操作,響應(yīng)所述觸發(fā)操作將所述非常規(guī)元素進(jìn)行過濾。
上述網(wǎng)頁處理方法和裝置,通過檢測(cè)網(wǎng)頁渲染后的網(wǎng)頁元素中是否存在非常規(guī)元素,如果網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示,在獲取到對(duì)交互入口的觸發(fā)操作時(shí)將非常規(guī)元素進(jìn)行過濾。由于在網(wǎng)頁渲染后還能對(duì)網(wǎng)頁中存在的非常規(guī)元素進(jìn)行過濾,并且是在獲取到用戶操作后進(jìn)行過濾,因此可以實(shí)現(xiàn)對(duì)網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行過濾操作,即使網(wǎng)頁中的正常內(nèi)容和非常規(guī)元素經(jīng)常隨機(jī)變化,只要網(wǎng)頁渲染后非常規(guī)元素存在網(wǎng)頁中,就可以通過用戶操作過濾非常規(guī)元素,從而使得網(wǎng)頁中的非常規(guī)元素的過濾更為精確。
附圖說明
圖1為一個(gè)實(shí)施例中網(wǎng)頁處理方法的應(yīng)用環(huán)境圖;
圖2為一個(gè)實(shí)施例中終端的結(jié)構(gòu)示意圖;
圖3為一個(gè)實(shí)施例中網(wǎng)頁處理方法的流程示意圖;
圖4為一個(gè)實(shí)施例中檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素的流程示意圖;
圖5為另一個(gè)實(shí)施例中網(wǎng)頁處理方法的流程示意圖;
圖6為一個(gè)實(shí)施例中網(wǎng)頁渲染后的界面示意圖;
圖7為一個(gè)實(shí)施例中過濾非常規(guī)元素的效果圖;
圖8為一個(gè)實(shí)施例中網(wǎng)頁處理裝置的結(jié)構(gòu)框圖;
圖9為一個(gè)實(shí)施例中非常規(guī)元素檢測(cè)模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例提供的網(wǎng)頁處理方法可應(yīng)用于如圖1所示的環(huán)境中。請(qǐng)參考圖1所示,終端110通過網(wǎng)絡(luò)與服務(wù)器120進(jìn)行通信。終端110顯示一個(gè)網(wǎng)頁時(shí)需要進(jìn)行網(wǎng)頁加載、網(wǎng)頁解析和網(wǎng)頁渲染過程。通常,在網(wǎng)頁渲染之前,可對(duì)一些非常規(guī)元素進(jìn)行攔截。終端110在進(jìn)行網(wǎng)頁渲染之后可再進(jìn)一步檢測(cè)得到的網(wǎng)頁元素中是否存在非常規(guī)元素,如果存在,則在網(wǎng)頁中生成一個(gè)交互入口,當(dāng)終端110接收到該交互入口的觸發(fā)操作時(shí),對(duì)網(wǎng)頁中存在的非常規(guī)元素進(jìn)行過濾。其中,終端110可以是但不限于是各種可請(qǐng)求并顯示網(wǎng)頁的個(gè)人計(jì)算機(jī)、筆記本電腦、臺(tái)式電腦、智能手機(jī)、平板電腦、便攜式可穿戴設(shè)備等。由于終端110在顯示網(wǎng)頁后還可對(duì)網(wǎng)頁中存在的非常規(guī)元素進(jìn)行過濾,使得網(wǎng)頁中的非常規(guī)元素過濾更為精確。
圖2為一個(gè)實(shí)施例中終端的內(nèi)部結(jié)構(gòu)示意圖。該終端包括通過系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、網(wǎng)絡(luò)接口、內(nèi)存儲(chǔ)器、輸入裝置。其中該終端的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng),還包括一種網(wǎng)頁處理裝置,該網(wǎng)頁處理裝置用于實(shí)現(xiàn)一種網(wǎng)頁處理方法。該處理器用于提供計(jì)算和控制能力,支撐整個(gè)終端的運(yùn)行。終端中的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的網(wǎng)頁處理裝置的運(yùn)行提供環(huán)境,網(wǎng)絡(luò)接口用于與服務(wù)器進(jìn)行通信,如發(fā)送URL請(qǐng)求至服務(wù)器,接收服務(wù)器發(fā)送的資源等。輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是鍵盤鼠標(biāo)或者是終端外殼上設(shè)置的軌跡球或觸控板等。
本領(lǐng)域技術(shù)人員可以理解,圖2中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用與其上的終端的限定,具體的終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
如圖3所示,在一個(gè)實(shí)施例中,提供了一種網(wǎng)頁處理方法,該方法以應(yīng)用于如圖1和圖2所示的終端中進(jìn)行舉例說明,包括:
步驟302,獲取待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后的網(wǎng)頁元素。
本實(shí)施例中,終端發(fā)起URL請(qǐng)求后進(jìn)行網(wǎng)頁加載、網(wǎng)頁解析和網(wǎng)頁渲染過程。具體的,終端根據(jù)請(qǐng)求的URL進(jìn)行域名解析,向服務(wù)器發(fā)起請(qǐng)求,接收服務(wù)器發(fā)送的資源(包括HTML、JS、CSS和圖像等)。對(duì)加載到的資源進(jìn)行語法解析,建立相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(比如HTML的DOM樹、JS的對(duì)象屬性表和CSS的樣式規(guī)則等),然后構(gòu)造渲染樹,對(duì)各個(gè)元素進(jìn)行位置計(jì)算、樣式計(jì)算等,根據(jù)渲染樹對(duì)頁面進(jìn)行渲染,獲取網(wǎng)頁渲染后的網(wǎng)頁元素。網(wǎng)頁渲染后的網(wǎng)頁元素包括應(yīng)正常顯示的網(wǎng)頁內(nèi)容,且可能包括一些非常規(guī)元素。
步驟304,檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素。
本實(shí)施例中,終端可根據(jù)待訪問網(wǎng)頁所屬的域名以及預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性來檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素。具體的,可預(yù)設(shè)域名和網(wǎng)頁元素關(guān)鍵屬性的對(duì)應(yīng)關(guān)系,設(shè)置的域名對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性可為非常規(guī)元素所具有的關(guān)鍵屬性。其中,域名和對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性可預(yù)先存儲(chǔ)在服務(wù)器中或者終端本地中。終端可預(yù)先根據(jù)本地存儲(chǔ)的域名和對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性來檢測(cè)網(wǎng)頁渲染后的網(wǎng)頁元素中是否存在非常規(guī)元素,當(dāng)匹配不到與域名對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性時(shí),可進(jìn)一步在服務(wù)器中進(jìn)行匹配,以提高匹配的準(zhǔn)確性。
步驟306,如果網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示。
本實(shí)施例中,如果檢測(cè)到網(wǎng)頁渲染后的網(wǎng)頁元素中存在非常規(guī)元素,例如,廣告、欺詐、虛假、低俗內(nèi)容等與網(wǎng)頁主題無關(guān)且有一定騷擾性的網(wǎng)頁元素。則在網(wǎng)頁中生成一個(gè)交互入口,該交互入口可響應(yīng)用戶操作實(shí)現(xiàn)頁面功能交互。進(jìn)一步的,交互入口可以為一鍵過濾入口,例如可以是一個(gè)一鍵過濾按鍵。當(dāng)用戶點(diǎn)擊該一鍵過濾按鍵,則終端相應(yīng)用戶的點(diǎn)擊操作將網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行過濾。
步驟308,獲取對(duì)交互入口的觸發(fā)操作,響應(yīng)該觸發(fā)操作將非常規(guī)元素進(jìn)行過濾。
本實(shí)施例中,當(dāng)用戶需要對(duì)網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行過濾時(shí),可觸發(fā)交互入口,例如點(diǎn)擊一鍵過濾按鍵,終端響應(yīng)對(duì)一鍵過濾按鍵的觸發(fā)操作,從而將在網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行過濾。
本實(shí)施例中,通過檢測(cè)網(wǎng)頁渲染后的網(wǎng)頁元素中是否存在非常規(guī)元素,如果網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示,在獲取到對(duì)交互入口的觸發(fā)操作時(shí)將非常規(guī)元素進(jìn)行過濾。由于在網(wǎng)頁渲染后還能對(duì)網(wǎng)頁中存在的非常規(guī)元素進(jìn)行過濾,并且是在獲取到用戶操作后進(jìn)行過濾,因此可以實(shí)現(xiàn)對(duì)網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行過濾操作,即使網(wǎng)頁中的正常內(nèi)容和非常規(guī)元素經(jīng)常隨機(jī)變化,只要網(wǎng)頁渲染后非常規(guī)元素存在網(wǎng)頁中,就可以通過用戶操作過濾掉非常規(guī)元素,從而使得網(wǎng)頁中的非常規(guī)元素的過濾更為精確。
在一個(gè)實(shí)施例中,檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素,包括:查找待訪問網(wǎng)頁所屬的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若是,則檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁中;如果查找到的網(wǎng)頁元素關(guān)鍵屬性有至少一條存在于待訪問網(wǎng)頁中,則網(wǎng)頁元素中存在非常規(guī)元素,否則網(wǎng)頁元素中不存在非常規(guī)元素。
進(jìn)一步的,在一個(gè)實(shí)施例中,查找待訪問網(wǎng)頁所屬的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,包括:查找待訪問網(wǎng)頁的網(wǎng)址的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若是,則進(jìn)入檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于所述待訪問網(wǎng)頁中的步驟,否則,進(jìn)一步查找待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若是,則進(jìn)入檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁的步驟,否則網(wǎng)頁元素中不存在非常規(guī)元素。
具體的,在一個(gè)實(shí)施例中,如圖4所示,檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素的步驟,包括:
步驟402,查找待訪問網(wǎng)頁的網(wǎng)址的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若是,則進(jìn)入步驟406,否則進(jìn)入步驟404。
本實(shí)施例中,預(yù)先設(shè)置了網(wǎng)頁元素關(guān)鍵屬性,所設(shè)置的網(wǎng)頁元素關(guān)鍵屬性是非常規(guī)元素的屬性特征。具體的,所設(shè)置的網(wǎng)頁元素關(guān)鍵屬性包括Class屬性和id屬性。在其他實(shí)施例中,還可包括style屬性或其它屬性。本實(shí)施例中,還預(yù)先設(shè)置了域名與網(wǎng)頁元素關(guān)鍵屬性的對(duì)應(yīng)關(guān)系,該對(duì)應(yīng)關(guān)系表明了該域名下的網(wǎng)址會(huì)存在非常規(guī)元素。進(jìn)一步的,該對(duì)應(yīng)關(guān)系可存儲(chǔ)在服務(wù)器(云端)或者終端本地,當(dāng)服務(wù)器有更新時(shí)可同步更新至終端。終端可先根據(jù)在本地存儲(chǔ)的域名與網(wǎng)頁元素關(guān)鍵屬性的對(duì)應(yīng)關(guān)系,查找待訪問網(wǎng)頁的網(wǎng)址的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若查找到則進(jìn)入步驟404,若查找不到,則可進(jìn)一步在服務(wù)器上進(jìn)行查找,如果在服務(wù)器中查找到則進(jìn)入步驟404,如果在服務(wù)器中查找不到則進(jìn)入步驟406。
步驟404,查找待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若是,則進(jìn)入步驟406,否則進(jìn)入步驟408。
本實(shí)施例中,如果待訪問網(wǎng)頁的網(wǎng)址的域名不存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則可進(jìn)一步查找待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性。如上所述,預(yù)先設(shè)置了域名與網(wǎng)頁元素關(guān)鍵屬性的對(duì)應(yīng)關(guān)系,如果待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則表明該待訪問網(wǎng)頁也可能存在非常規(guī)元素。具體的,終端也可先在本地查找待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,若查找到則進(jìn)入步驟406,若查找不到則可進(jìn)一步在服務(wù)器上進(jìn)行查找,如果在服務(wù)器中查找到則進(jìn)入步驟406,否則進(jìn)入步驟408。
步驟406,檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁中,若是,則進(jìn)入步驟410,否則進(jìn)入步驟408。
步驟408,網(wǎng)頁渲染后得到的網(wǎng)頁元素中不存在非常規(guī)元素。
步驟410,網(wǎng)頁渲染后得到的網(wǎng)頁元素中存在非常規(guī)元素。
本實(shí)施例中,當(dāng)待訪問網(wǎng)頁的網(wǎng)址的域名或頂級(jí)域名存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁中,即:將查找到的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性與待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后得到的網(wǎng)頁元素中的關(guān)鍵屬性進(jìn)行匹配,如果匹配到至少一條關(guān)鍵屬性,則表明根據(jù)域名匹配到的非常規(guī)元素包含待訪問網(wǎng)頁中存在的非常規(guī)元素,待訪問網(wǎng)頁存在非常規(guī)元素。如果匹配不到至少一條關(guān)鍵屬性,則待訪問網(wǎng)頁不存在非常規(guī)元素。
具體的,預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性包括Class屬性、id屬性、style屬性和其它屬性等,在匹配待訪問網(wǎng)頁中的網(wǎng)頁元素時(shí),則可逐一匹配這些屬性。例如,某個(gè)網(wǎng)頁中的非常規(guī)元素代碼為:<div id=“wAdFlyBlttom”class=“onlyPc”>…</div>,預(yù)先設(shè)置與域名對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性為:div[id=“wAdFlyBlttom”]或者div[class=“onlyPc”],則可以匹配到待訪問網(wǎng)頁中存在非常規(guī)元素。
本實(shí)施例中,通過將待訪問網(wǎng)頁所屬的域名與預(yù)設(shè)的域名匹配,匹配得到非常規(guī)元素的網(wǎng)頁元素關(guān)鍵屬性,然后檢測(cè)匹配到的網(wǎng)頁元素關(guān)鍵屬性是否存在于待訪問網(wǎng)頁中,如果存在,則表明待訪問網(wǎng)頁中存在非常規(guī)元素,否則不存在非常規(guī)元素。由于服務(wù)器中或終端本地存儲(chǔ)的用來匹配的網(wǎng)頁元素關(guān)鍵屬性有可能過期,通過兩次匹配過程可以確保待訪問元素中匹配到的關(guān)鍵屬性正是預(yù)設(shè)的確定為非常規(guī)元素的關(guān)鍵屬性,因此可以確保檢測(cè)待訪問網(wǎng)頁中的非常規(guī)元素的準(zhǔn)確性。
在一個(gè)實(shí)施例中,如果渲染后得到的網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示,包括:如果網(wǎng)頁元素中存在非常規(guī)元素,則在待訪問網(wǎng)頁的頁面中注入預(yù)設(shè)的JS代碼,通過JS代碼在網(wǎng)頁中生成交互入口并顯示,該JS代碼還用于響應(yīng)交互入口的觸發(fā)操作將非常規(guī)元素進(jìn)行過濾。
在一個(gè)實(shí)施例中,響應(yīng)觸發(fā)操作將非常規(guī)元素進(jìn)行過濾,包括:獲取非常規(guī)元素在網(wǎng)頁中的位置大小信息,以及獲取交互入口在網(wǎng)頁中的位置大小信息;根據(jù)非常規(guī)元素在網(wǎng)頁中的位置大小信息和交互入口在網(wǎng)頁中的位置大小信息,將非常規(guī)元素按照預(yù)設(shè)動(dòng)畫效果移動(dòng)至交互入口對(duì)應(yīng)的位置處直至消失。
如圖5所示,在一個(gè)實(shí)施例中,提供了一種網(wǎng)頁處理方法,該方法以應(yīng)用于如圖1或圖2中的終端中進(jìn)行舉例說明,包括:
步驟502,獲取待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后的網(wǎng)頁元素。
本實(shí)施例中,終端發(fā)起URL請(qǐng)求后進(jìn)行網(wǎng)頁加載、網(wǎng)頁解析和網(wǎng)頁渲染過程,當(dāng)網(wǎng)頁內(nèi)的所有預(yù)執(zhí)行的JS腳本執(zhí)行過程完成,則整個(gè)頁面完成加載,用戶可以看到完整的網(wǎng)頁頁面。在進(jìn)行網(wǎng)頁渲染前可對(duì)網(wǎng)頁中存在的一些非常規(guī)元素進(jìn)行攔截操作,攔截掉一些非常規(guī)元素后再進(jìn)行網(wǎng)頁渲染。網(wǎng)頁渲染后就即可顯示整個(gè)網(wǎng)頁頁面,網(wǎng)頁頁面中顯示了網(wǎng)頁元素,這些網(wǎng)頁元素除了包含正常顯示的網(wǎng)頁內(nèi)容外,還可能包含了一些非常規(guī)元素。
步驟504,檢測(cè)該網(wǎng)頁元素中是否存在非常規(guī)元素,若是,則進(jìn)入步驟506,否則結(jié)束。
具體的,可通過將待訪問網(wǎng)頁所屬的域名與終端本地存儲(chǔ)的域名進(jìn)行匹配,匹配到域名后,獲取預(yù)設(shè)的與該域名對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性。如果匹配不到,則去服務(wù)器匹配域名,從而獲取到與待訪問網(wǎng)頁所屬的域名對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性。其中,待訪問網(wǎng)頁所屬的域名包括待訪問網(wǎng)頁的網(wǎng)址的域名和頂級(jí)域名。在匹配時(shí),首先對(duì)待訪問網(wǎng)頁的網(wǎng)址的域名進(jìn)行匹配,匹配不到時(shí)再進(jìn)一步對(duì)待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名進(jìn)行匹配。
進(jìn)一步的,匹配到對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性后,檢測(cè)該網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在與待訪問網(wǎng)頁中,若是則表明匹配到的網(wǎng)頁元素關(guān)鍵屬性包含了待訪問網(wǎng)頁中的網(wǎng)頁元素關(guān)鍵屬性,待訪問網(wǎng)頁存在非常規(guī)元素,否則待訪問網(wǎng)頁不存在非常規(guī)元素。
步驟506,在待訪問網(wǎng)頁的頁面中注入預(yù)設(shè)的JS代碼,通過JS代碼在網(wǎng)頁中生成交互入口并顯示。
本實(shí)施例中,可在網(wǎng)頁瀏覽器中注入瀏覽器插件,該瀏覽器插件可用于當(dāng)網(wǎng)頁渲染后檢測(cè)渲染后得到的網(wǎng)頁元素中是否存在非常規(guī)元素,如果存在,則向頁面注入預(yù)設(shè)的JS代碼,該JS代碼可實(shí)現(xiàn)在網(wǎng)頁中生成一個(gè)交互入口并實(shí)現(xiàn)該交互入口的功能交互實(shí)現(xiàn)。
具體的,交互入口可以是一個(gè)用來過濾網(wǎng)頁中的非常規(guī)元素的入口,例如,可以是在頁面中顯示的一個(gè)控件,比如是一個(gè)一鍵過濾按鈕。如圖6所示,網(wǎng)頁渲染后顯示整個(gè)網(wǎng)頁頁面,該頁面中存在一些非常規(guī)元素602,非常規(guī)元素602可以是廣告內(nèi)容、虛假內(nèi)容或者其他與網(wǎng)頁主題無關(guān)的內(nèi)容。當(dāng)檢測(cè)到這些非常規(guī)元素602時(shí)在頁面中生成一個(gè)一鍵過濾按鈕604,該一鍵過濾按鈕604可為如圖6所示的一個(gè)圖標(biāo)。
步驟508,獲取對(duì)交互入口的觸發(fā)操作,響應(yīng)觸發(fā)操作將網(wǎng)頁中的非常規(guī)元素移動(dòng)至交互入口對(duì)應(yīng)的位置處直至消失。
本實(shí)施例中,可通過注入到頁面中的預(yù)設(shè)的JS代碼實(shí)現(xiàn)交互入口的功能交互實(shí)現(xiàn)。具體的,當(dāng)用戶觸發(fā)交互入口時(shí),例如,點(diǎn)擊一鍵過濾按鈕604,通過預(yù)設(shè)的JS代碼響應(yīng)該操作,進(jìn)而獲取到非常規(guī)元素在網(wǎng)頁中的位置大小信息,以及獲取交互入口在網(wǎng)頁中的位置大小信息,根據(jù)非常規(guī)元素在網(wǎng)頁中的位置大小信息和交互入口在網(wǎng)頁中的位置大小信息,將非常規(guī)元素按照預(yù)設(shè)動(dòng)畫效果移動(dòng)至交互入口對(duì)應(yīng)的位置處直至消失。
具體的,在檢測(cè)到待訪問網(wǎng)頁中存在非常規(guī)元素時(shí),可根據(jù)匹配的網(wǎng)頁元素關(guān)鍵屬性獲取到這些非常規(guī)元素,進(jìn)而獲取到非常規(guī)元素的位置大小信息。而交互入口的位置大小信息可根據(jù)預(yù)設(shè)的JS代碼獲取得到。進(jìn)一步的,可根據(jù)非常規(guī)元素的位置大小信息和交互入口的位置大小信息獲取到每個(gè)非常規(guī)元素與交互入口之間的距離,根據(jù)該距離將每個(gè)非常規(guī)元素移動(dòng)到交互入口的位置處,然后隱藏消失。
進(jìn)一步的,在移動(dòng)每個(gè)非常規(guī)元素到交互入口位置處的過程中,可逐漸縮小非常規(guī)元素的大小,直至達(dá)到交互入口位置處消失,以實(shí)現(xiàn)非常規(guī)元素動(dòng)態(tài)移動(dòng)并且逐漸縮小直至消失的動(dòng)畫效果。具體的,可采用如下方式實(shí)現(xiàn)這一動(dòng)畫效果:假設(shè)非常規(guī)元素為A,大小為Sa,交互入口為B,根據(jù)A和B的位置計(jì)算得到A與B之間的距離為L(zhǎng),預(yù)先設(shè)置該動(dòng)畫效果總時(shí)間為T,設(shè)置定時(shí)器的時(shí)間間隔為t秒(即每t秒定時(shí)器執(zhí)行1次)。則非常規(guī)元素A向交互入口B移動(dòng)的總次數(shù)為n=T/t。定時(shí)器每執(zhí)行一次,則A向B移動(dòng)距離L△=L/n,同時(shí)將非常規(guī)元素A縮放m倍數(shù):m=Sa/n,且最后一次執(zhí)行將A的大小Sa置為0,并將其設(shè)置為隱藏。這樣,每個(gè)非常規(guī)元素A平移到交互入口B的位置處則會(huì)消失。如圖7所示,可通過一定的動(dòng)畫效果實(shí)現(xiàn)非常規(guī)元素的過濾,非常規(guī)元素平移到交互入口位置處并逐漸縮小直至消失在交互入口位置處,在回收非常規(guī)元素的過程中,交互入口可以呈現(xiàn)出一種回收的動(dòng)畫效果,從而實(shí)現(xiàn)了一種將非常規(guī)元素進(jìn)行回收的顯示效果。
本實(shí)施例中,通過設(shè)置瀏覽器插件,在檢測(cè)到網(wǎng)頁渲染后得到的網(wǎng)頁元素中存在非常規(guī)元素,則顯示交互入口。由于網(wǎng)頁渲染后整個(gè)頁面加載完畢,用戶也可以看到網(wǎng)頁中存在的非常規(guī)元素,因此可以選擇是否將頁面中的非常規(guī)元素進(jìn)行過濾。當(dāng)用戶選擇過濾時(shí),可通過交互入口一鍵觸發(fā)過濾網(wǎng)頁中顯示的非常規(guī)元素。且可通過一定的動(dòng)畫效果來實(shí)現(xiàn)將非常規(guī)元素平移到交互入口位置處直至消失,實(shí)現(xiàn)將網(wǎng)頁中顯示的非常規(guī)元素進(jìn)行回收的效果。
如圖8所示,在一個(gè)實(shí)施例中,還提供了一種網(wǎng)頁處理裝置,該裝置包括:
網(wǎng)頁元素獲取模塊802,用于獲取待訪問網(wǎng)頁進(jìn)行網(wǎng)頁渲染后的網(wǎng)頁元素。
非常規(guī)元素檢測(cè)模塊804,用于檢測(cè)網(wǎng)頁元素中是否存在非常規(guī)元素。
圖標(biāo)生成模塊806,用于如果網(wǎng)頁元素中存在非常規(guī)元素,則在網(wǎng)頁中生成交互入口并顯示。
過濾模塊808,用于獲取對(duì)交互入口的觸發(fā)操作,響應(yīng)觸發(fā)操作將非常規(guī)元素進(jìn)行過濾。
在一個(gè)實(shí)施例中,如圖9所示,非常規(guī)元素檢測(cè)模塊804包括:
查找模塊814,用于查找待訪問網(wǎng)頁所屬的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性。
檢測(cè)模塊824,用于如果待訪問網(wǎng)頁所屬的域名存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁中;如果查找到的網(wǎng)頁元素關(guān)鍵屬性有至少一條存在于待訪問網(wǎng)頁中,則網(wǎng)頁元素中存在非常規(guī)元素,否則,網(wǎng)頁元素中不存在非常規(guī)元素。
在一個(gè)實(shí)施例中,查找模塊814用于查找待訪問網(wǎng)頁的網(wǎng)址的域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性;檢測(cè)模塊824還用于如果查找模塊814檢測(cè)到待訪問網(wǎng)頁的網(wǎng)址的域名存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則檢測(cè)網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁。本實(shí)施例中,查找模塊814還用于如果查找不到待訪問網(wǎng)頁的網(wǎng)址的域名存在對(duì)應(yīng)的網(wǎng)頁元素關(guān)鍵屬性,則進(jìn)一步查找待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名是否存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性。本實(shí)施例中,檢測(cè)模塊824還用于如果查找到待訪問網(wǎng)頁的網(wǎng)址的頂級(jí)域名存在對(duì)應(yīng)的預(yù)設(shè)的網(wǎng)頁元素關(guān)鍵屬性,則檢測(cè)查找到的網(wǎng)頁元素關(guān)鍵屬性是否有至少一條存在于待訪問網(wǎng)頁中,否則網(wǎng)頁元素中不存在非常規(guī)元素。
在一個(gè)實(shí)施例中,圖標(biāo)生成模塊806用于如果網(wǎng)頁元素中存在非常規(guī)元素,則在待訪問網(wǎng)頁的頁面中注入預(yù)設(shè)的JS代碼,通過JS代碼在網(wǎng)頁中生成交互入口并顯示,該JS代碼還用于響應(yīng)交互入口的觸發(fā)操作將非常規(guī)元素進(jìn)行過濾。
在一個(gè)實(shí)施例中,過濾模塊808用于獲取非常規(guī)元素在網(wǎng)頁中的位置大小信息,以及獲取交互入口在網(wǎng)頁中的位置大小信息,根據(jù)非常規(guī)元素在網(wǎng)頁中的位置大小信息和交互入口在網(wǎng)頁中的位置大小信息,將非常規(guī)元素按照預(yù)設(shè)動(dòng)畫效果移動(dòng)至交互入口對(duì)應(yīng)的位置處直至消失。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一非易失性計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)等。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。