網頁元素屏蔽方法和裝置制造方法
【專利摘要】本發明公開了一種網頁元素屏蔽方法和裝置。其中,網頁元素屏蔽方法包括:獲取資源請求;獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源;加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件;以及輸出加載后的資源文件以生成網頁。通過本發明,解決了現有技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題,進而達到了提高網頁加載速度的效果。
【專利說明】網頁元素屏蔽方法和裝置
【技術領域】
[0001]本發明涉及數據處理領域,具體而言,涉及一種網頁元素屏蔽方法和裝置。
【背景技術】
[0002]用戶在瀏覽網頁時,大多會遇到一些不想見到的內容,如網頁廣告、漂浮的動畫以及一些其他的有害信息(如有害腳本、非法圖片等)。現有瀏覽器的廣告過濾功能,一般只會簡單的對網頁資源的統一資源定位符,也被稱為網頁地址(Uniform/Universal ResourceLocator,簡稱URL)進行屏蔽,或是在資源下載后不進行加載。但在實際應用中,采用網頁地址屏蔽的方案使得整個網頁都無法顯示,直接造成非有害信息被屏蔽,采用資源下載后不進行加載的方案雖然解決了非有害信息被屏蔽的弊端,但是在實際應用中,資源下載后不進行加載的方案對網頁資源處理時,往往是通過將資源下載到本地后再進行隱藏來實現網頁元素屏蔽,此種方法不僅占用了網絡流量,造成加載速度降低,而且還存在需要進行隱藏的資源被瀏覽器誤加載的風險,無法達到網頁元素屏蔽。此外,按照現有技術中的屏蔽方法,當網頁資源被攔截后,圖像占位符或網頁框架等仍然存在,這就使得處理后的頁面變得支離破碎,十分的不美觀。
[0003]針對相關技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題,目前尚未提出有效的解決方案。
【發明內容】
[0004]本發明的主要目的在于提供一種網頁元素屏蔽方法和裝置,以解決現有技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題。
[0005]為了實現上述目的,根據本發明的一個方面,提供了 一種網頁元素屏蔽方法,包括:獲取資源請求;獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源;加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件;以及輸出加載后的資源文件以生成網頁。
[0006]進一步地,對第一資源文件進行屏蔽包括:獲取第一資源文件的類型;判斷獲取到的類型是第一預設類型還是第二預設類型,其中,第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,第二預設類型表示的資源文件在網頁顯示中為可見資源文件;若判斷出獲取到的類型是第一預設類型,則對第一資源請求進行攔截;以及若判斷出獲取到的類型是第二預設類型,則獲取第一資源文件的占位符,并以第一預設資源文件替換第一資源文件,其中,第一預設資源文件的占位符與獲取到的占位符相同。
[0007]進一步地,第一資源請求包括第一資源子請求和第二資源子請求,第一資源子請求對應的資源文件為第一資源子文件,第二資源子請求對應的資源文件為第二資源子文件,對第一資源文件進行屏蔽包括:分別獲取第一資源子文件和第二資源子文件的類型;判斷獲取到的第一資源子文件的類型是第一預設類型還是第二預設類型,其中,第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,第二預設類型表示的資源文件在網頁顯示中為可見資源文件;判斷獲取到的第二資源子文件的類型是第一預設類型還是第二預設類型;若判斷出第一資源子文件的類型是第一預設類型,并且第二資源子文件的類型是第二預設類型,則對第一資源子請求進行攔截,并對第二資源子文件的占位符進行獲取后以第二預設資源文件替換第二資源子文件,其中,第二預設資源文件的占位符與第二資源子文件的占位符相同;以及若判斷出第二資源子文件的類型是第一預設類型,并且第一資源子文件的類型是第二預設類型,則對第二資源子請求進行攔截,并對第一資源子文件的占位符進行獲取后以第三預設資源文件替換第一資源子文件,其中,第三預設資源文件的占位符與第一資源子文件的占位符相同。
[0008]進一步地,獲取第一資源文件的類型包括:獲取產生第一資源請求的內核類型;判斷獲取到的內核類型是Trident內核還是Webkit內核;若判斷出獲取到的內核類型為Trident內核,則獲取第一資源請求的地址信息并根據地址信息獲取第一資源文件的類型;以及若判斷出獲取到的內核類型為Webkit內核,則直接獲取第一資源文件的類型。
[0009]進一步地,根據地址信息獲取第一資源文件的類型包括:獲取地址信息的擴展名信息;以及對擴展名信息進行分類以得到第一資源文件的類型。
[0010]為了實現上述目的,根據本發明的另一方面,提供了一種網頁元素屏蔽裝置,該網頁元素屏蔽裝置用于執行上述本發明提供的任意一種網頁元素屏蔽方法。
[0011]為了實現上述目的,根據本發明的另一方面,提供了一種網頁元素屏蔽裝置,包括:第一獲取單元,用于獲取資源請求;第二獲取單元,用于獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源;處理單元,用于加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件;以及輸出單元,用于輸出加載后的資源文件以生成網頁。
[0012]進一步地,處理單元包括:獲取子單元,用于獲取第一資源文件的類型;判斷子單元,用于判斷獲取到的類型是第一預設類型還是第二預設類型,其中,第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,第二預設類型表示的資源文件在網頁顯示中為可見資源文件;攔截子單元,用于在判斷子單元判斷出獲取到的類型是第一預設類型時,對第一資源請求進行攔截;以及替換子單元,用于在判斷子單元判斷出獲取到的類型是第二預設類型時,獲取第一資源文件的占位符,并以第一預設資源文件替換第一資源文件,其中,第一預設資源文件的占位符與獲取到的占位符相同。
[0013]進一步地,第一資源請求包括第一資源子請求和第二資源子請求,第一資源子請求對應的資源文件為第一資源子文件,第二資源子請求對應的資源文件為第二資源子文件,處理單元包括:獲取子單元,用于分別獲取第一資源子文件和第二資源子文件的類型;第一判斷子單元,用于判斷獲取到的第一資源子文件的類型是第一預設類型還是第二預設類型,其中,第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,第二預設類型表示的資源文件在網頁顯示中為可見資源文件;第二判斷子單元,用于判斷獲取到的第二資源子文件的類型是第一預設類型還是第二預設類型;第一處理子單元,用于在第一判斷子單元判斷出第一資源子文件的類型是第一預設類型,并且第二判斷子單元判斷出第二資源子文件的類型是第二預設類型時,對第一資源子請求進行攔截,并對第二資源子文件的占位符進行獲取后以第二預設資源文件替換第二資源子文件,其中,第二預設資源文件的占位符與第二資源子文件的占位符相同;以及第二處理子單元,用于在第二判斷子單元判斷出第二資源子文件的類型是第一預設類型,并且第一判斷子單元判斷出第一資源子文件的類型是第二預設類型時,對第二資源子請求進行攔截,并對第一資源子文件的占位符進行獲取后以第三預設資源文件替換第一資源子文件,其中,第三預設資源文件的占位符與第一資源子文件的占位符相同。
[0014]進一步地,獲取子單元包括:第一獲取模塊,用于獲取產生第一資源請求的內核類型;判斷模塊,用于判斷獲取到的內核類型是Trident內核還是Webkit內核;第二獲取模塊,用于在判斷模塊判斷出獲取到的內核類型為Trident內核時,獲取第一資源請求的地址信息并根據地址信息獲取第一資源文件的類型;以及第三獲取模塊,用于在判斷模塊判斷出獲取到的內核類型為Webkit內核時,直接獲取第一資源文件的類型。
[0015]進一步地,第二獲取模塊包括:獲取子模塊,用于獲取地址信息的擴展名信息;以及分類子模塊,用于對擴展名信息進行分類以得到第一資源文件的類型。
[0016]通過本發明,采用獲取資源請求;獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源;加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件;以及輸出加載后的資源文件以生成網頁。通過在對資源請求所對應的資源文件進行加載之前對資源請求進行處理,以確定出需要屏蔽的資源所對應的資源請求,進而在加載資源文件中屏蔽掉需要屏蔽的資源文件,實現了在加載資源前即對資源請求進行處理,以避免瀏覽器下載任何不必要的資源,解決了現有技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題,進而達到了提高網頁加載速度的效果。
【專利附圖】
【附圖說明】
[0017]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0018]圖1是根據本發明實施例的網頁元素屏蔽方法的流程圖;
[0019]圖2是根據本發明實施例的屏蔽方法進行資源類型確定的流程圖;
[0020]圖3是根據本發明實施例的屏蔽方法對不同類型的資源文件進行屏蔽的流程圖;
[0021]圖4是根據本發明實施例的屏蔽方法進行網頁元素加載輸出的流程圖;以及
[0022]圖5是根據本發明實施例的網頁元素屏蔽裝置的示意圖。
【具體實施方式】
[0023]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0024]本發明實施例提供了一種網頁元素屏蔽方法,以下對本發明實施例所提供的網頁元素屏蔽方法進行具體介紹:
[0025]圖1是根據本發明實施例所提供的網頁元素屏蔽方法的流程圖,如圖1所示,該實施例的網頁元素屏蔽方法包括如下步驟S102至步驟S108:
[0026]S102:獲取資源請求,具體地,當用戶通過瀏覽器打開網頁時,瀏覽器首先會產生資源請求,之后再通過對資源請求進行響應來得到與資源請求相對應的資源文件。
[0027]S104:獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源,具體地,對第一資源請求的獲取既可以根據實際需要進行自定義設定,也可以采用現有技術中任意一種篩選資源請求的方法,最終達到篩選出需要屏蔽的資源文件的資源請求,此處對需要屏蔽的資源文件的資源請求采用“第一資源請求”這樣的描述語言,只是為了將需要屏蔽的資源文件的資源請求與不需屏蔽的資源文件的資源請求進行區分,并非是對資源請求的次序做限定。
[0028]S106:加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件,即,在步驟S104完成對資源請求的處理之后,再進行相關資源文件的加載。
[0029]S108:輸出加載后的資源文件以生成網頁,具體地,瀏覽器在對第一資源文件進行屏蔽后輸出加載后的資源文件至瀏覽器前端,其中,所謂的資源文件是指網頁中包含且顯示需要加載的文件,當資源文件被瀏覽器加載并在網頁中進行顯示后,就稱其為網頁元素,即,資源文件和網頁元素是對同一實質相同的對象在不同時期的稱呼,這一對象在被瀏覽器加載前稱作資源文件,在被瀏覽器加載后稱作網頁元素。
[0030]本發明實施例所提供的網頁元素屏蔽方法通過在對資源請求所對應的資源文件進行加載之前對資源請求進行處理,以確定出需要屏蔽的資源所對應的資源請求,進而在加載資源文件中屏蔽掉需要屏蔽的資源文件,實現了在加載資源前即對資源請求進行處理,以避免瀏覽器下載任何不必要的資源,解決了現有技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題,進而達到了提高網頁加載速度的效果。
[0031]進一步地,步驟S106中在對第一資源文件進行屏蔽時,對于不同類型的資源文件,具體屏蔽方法不相同,具體地,可以通過以下方式實現對第一資源文件的屏蔽:
[0032]首先,對第一資源文件的類型進行獲取,具體地,當用戶通過不同內核的瀏覽器加載網頁時,會通過瀏覽器的內核產生資源請求,而對于不同內核瀏覽器所對應的資源請求的資源文件類型的獲取方法不同,此時,可以先對產生資源請求的內核類型進行獲取并判斷產生資源請求的內核類型是Webkit內核還是Trident內核,所謂Trident內核就是IE瀏覽器所使用的內核,也是很多瀏覽器所使用的內核,通常被稱為IE內核。Trident內核的常見瀏覽器有:IE6、IE7、IE8 (Trident 4.0)、IE9 (Trident 5.0)、IElO (Trident 6.0);世界之窗、360安全瀏覽器、傲游;搜狗瀏覽器;騰訊TT ;阿云瀏覽器(早期版本)、百度瀏覽器(早期版本)、瑞星安全瀏覽器等;所謂WebKit內核是一個開源的瀏覽器引擎,是目前最火熱的瀏覽器內核,常見的WebKit內核的瀏覽器有:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android默認瀏覽器,獵豹瀏覽器是一款同時具備Trident內核和WebKit內核的雙核瀏覽器。對于瀏覽器內核為Webkit內核的情況,瀏覽器通過Webkit內核加載網頁產生資源請求時,會在封裝層做出修改,使其在請求資源時通過ResourceDispatcherHostlmpl:: OnRequestResource^ResourceDispatcherHostImpl::BeginRequest 等函數回調給處理函數,由于Webkit內核在內部預定義了 ResourceType,所以對于Webkit內核瀏覽器所產生的資源請求對應的資源類型可以直接獲取得到;而對于瀏覽器內核為Trident內核的情況,對該 瀏覽器內核所產生的資源請求對應的資源類型的獲取,可以通過程序注冊“異步可插協議”(Asynchronous Pluggable Protocol),使該內核請求的所有資源經由COInetProt:: StartEx>CInternetProtocoIFiIter:: Start 等函數回調給程序,以此獲得所有資源請求的地址信息,并通過對該地址信息的擴展名信息進行分類得到資源文件的類型(包括圖像資源、網頁資源、樣式表資源、腳本資源和嵌入對象資源等),其中,對于Webkit內核瀏覽器和Trident內核瀏覽器所生成資源請求的資源類型的獲取流程在圖2中示出。
[0033]其次,將獲取到的第一資源文件的類型與兩個預設的類型進行對比以確定出第一資源文件的類型具體是哪個類型,這兩個預設的類型為第一預設類型和第二預設類型,其中,第一預設類型表示的資源文件在網頁中進行顯示時為不可見的資源文件,第二預設類型表示的資源文件在網頁中進行顯示時為可見的資源文件;
[0034]最后,根據上述的對比結果來對第一資源文件進行具體處理,其中,如果對比確定出第一資源文件的類型與第一預設類型相同,則直接對第一資源請求進行攔截;如果對比確定出第一資源文件的類型與第二預設類型相同,此時則對第一資源請求對應的第一資源文件的占位符進行獲取,然后從預設數據庫中調用一個預設資源文件來替換第一資源文件,所調用的預設資源文件滿足的條件是,這個調用的預設資源文件的占位符與第一資源文件的占位符相同。
[0035]需要說明的是,當第一資源文件包括多個資源子文件時,則同樣采用上述方式對各個子文件的類型進行對比,然后將類型與第一預設類型相同的資源子文件的資源請求進行攔截,將類型與第二預設類型相同的資源子文件采用相同占位符的預設文件進行替換。其中,對第一資源文件的屏蔽(攔截和/或替換)的流程在圖3中示出。對于攔截和/或替換后的資源文件(即,需要屏蔽的資源文件)在步驟S108進行加載后的資源文件輸出時,按照圖4所示的流程進行屏蔽資源的輸出,具體地,如圖4所示,在進行加載后的資源文件輸出時,會生成對應攔截和/或替換后的資源文件屬性的層疊樣式表屬性選擇器(CSSSelector),并將選擇到的元素設置{display:none! important;}隱藏屬性,生成完整的樣式規則,此段樣式規則將被動態拼接至JavaScript代碼中,以便注入網頁HTML代碼頭部,當頁面完成加載時,JavaScript代碼會被自動執行,完成攔截和/或替換的網頁元素的隱藏。
[0036]通過對需屏蔽資源文件的類型進行對比,以準確確定出需屏蔽資源文件中的可見資源文件和非可見資源文件,進而針對不同類型的資源文件采用不同的處理手段進行處理,通過對需屏蔽資源文件中非可見類型的資源文件的資源請求進行攔截,避免了下載任何不必要的資源,進而達到了避免占用網絡流量所造成的加載速度降低的弊端;通過對需屏蔽資源文件中可見類型的資源文件以相同占位符的預設資源文件進行替換,避免資源文件被攔截后因圖像占位符或網頁框架被屏蔽所造成的網頁空白顯示,進而達到了提升網頁美觀度。
[0037]本發明實施例還提供了一種網頁元素屏蔽裝置,該網頁元素屏蔽裝置可以用以執行本發明實施例上述內容所提供的網頁元素屏蔽方法,以下對本發明實施例所提供的網頁元素屏蔽裝置進行具體介紹:
[0038]圖5是根據本發明實施例的網頁元素屏蔽裝置的示意圖,如圖5所示,該實施例的網頁元素屏蔽裝置包括第一獲取單元10、第二獲取單元20、處理單元30和輸出單元40。
[0039]具體地,第一獲取單元10用于獲取來自瀏覽器內核發出的資源請求;
[0040]第二獲取單元20用于獲取資源請求中的第一資源請求,其中,第一資源請求對應的資源文件為屏蔽資源,具體地,第二獲取單元20可以是一個對資源請求進行篩選判斷的單元,其具體實現原理既可以根據實際需要進行自定義設定,也可以是應用現有技術中任意一種篩選資源請求方法的單元,最終達到篩選出需要屏蔽的資源文件的資源請求。
[0041]處理單元30用于加載資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,第一資源文件為第一資源請求對應的資源文件,即,處理單元30在第二獲取單元20完成對資源請求的處理之后再進行相關資源文件的加載。
[0042]輸出單元40用于輸出加載后的資源文件以生成網頁,具體地,瀏覽器在對第一資源文件進行屏蔽后輸出加載后的資源文件至瀏覽器前端,其中,所謂的資源文件是指網頁中包含且顯示需要加載的文件,當資源文件被瀏覽器加載并在網頁中進行顯示后,就稱其為網頁元素,即,資源文件和網頁元素是對同一實質相同的對象在不同時期的稱呼,這一對象在被瀏覽器加載前稱作資源文件,在被瀏覽器加載后稱作網頁元素。
[0043]本發明實施例所提供的網頁元素屏蔽裝置通過在對資源請求所對應的資源文件進行加載之前對資源請求進行處理,以確定出需要屏蔽的資源所對應的資源請求,進而在加載資源文件中屏蔽掉需要屏蔽的資源文件,實現了在加載資源前即對資源請求進行處理,以避免瀏覽器下載任何不必要的資源,解決了現有技術中網頁元素的屏蔽方法容易造成網頁加載速度降低的問題,進而達到了提高網頁加載速度的效果。
[0044]進一步地,處理單元30在對第一資源文件進行屏蔽時,對于不同類型的資源文件,具體屏蔽方法不相同,具體地,可以通過以下各子單元實現對第一資源文件的屏蔽:
[0045]首先,由 獲取子單元對第一資源文件的類型進行獲取,具體地,當用戶通過不同內核的瀏覽器加載網頁時,會通過瀏覽器的內核產生資源請求,而對于不同內核瀏覽器所對應的資源請求的資源文件類型的獲取方法不同,此時,可以先由一個獲取模塊對產生資源請求的內核類型進行獲取,然后由判斷模塊判斷產生資源請求的內核類型是Webkit內核還是Trident內核,對于瀏覽器內核為Webkit內核的情況,瀏覽器通過Webkit內核加載網頁產生資源請求時,會在封裝層做出修改,使其在請求資源時通過ResourceDispatcherHostlmpl:: OnRequestResource^ResourceDispatcherHostImpl::BeginRequest 等函數回調給處理函數,由于Webkit內核在內部預定義了 ResourceType,所以對于Webkit內核瀏覽器所產生的資源請求對應的資源類型可以由一個獲取模塊直接獲取得到;而對于瀏覽器內核為Trident內核的情況,對該瀏覽器內核所產生的資源請求對應的資源類型的獲取,可以通過程序注冊“異步可插協議”(Asynchronous Pluggable Protocol),使該內核請求的所有資源經由 COInetProt::StartEx> ClnternetProtocolFiIter::Start 等函數回調給程序,以此實現由獲取模塊獲得所有資源請求的地址信息,并通過對該地址信息的擴展名信息進行分類得到資源文件的類型(包括圖像資源、網頁資源、樣式表資源、腳本資源和嵌入對象資源等)。
[0046]其次,由判斷子單元將獲取到的第一資源文件的類型與兩個預設的類型進行對比判斷以確定出第一資源文件的類型具體是哪個類型,這兩個預設的類型為第一預設類型和第二預設類型,其中,第一預設類型表示的資源文件在網頁中進行顯示時為不可見的資源文件,第二預設類型表示的資源文件在網頁中進行顯示時為可見的資源文件;
[0047]最后,根據上述的對比結果來對第一資源文件進行具體處理,其中,如果對比確定出第一資源文件的類型與第一預設類型相同,則由攔截子單元直接對第一資源請求進行攔截;如果對比確定出第一資源文件的類型與第二預設類型相同,此時則由替換子單元對第一資源請求對應的第一資源文件的占位符進行獲取,然后從預設數據庫中調用一個預設資源文件來替換第一資源文件,所調用的預設資源文件滿足的條件是,這個調用的預設資源文件的占位符與第一資源文件的占位符相同。
[0048]需要說明的是,當第一資源文件包括多個資源子文件時,則同樣采用上述方式對各個子文件的類型進行獲取后與預設類型進行對比,然后將類型與第一預設類型相同的資源子文件的資源請求進行攔截,將類型與第二預設類型相同的資源子文件采用相同占位符的預設文件進行替換。對于攔截和/或替換后的資源文件(即,需要屏蔽的資源文件)在加載后的資源文件輸出時,會生成對應攔截和/或替換后的資源文件屬性的層疊樣式表屬性選擇器(CSS Selector),并將選擇到的元素設置{display:none! important;}隱藏屬性,生成完整的樣式規則,此段樣式規則將被動態拼接至JavaScript代碼中,以便注入網頁HTML代碼頭部,當頁面完成加載時,JavaScript代碼會被自動執行,完成攔截和/或替換的網頁元素的隱藏。
[0049]通過對需屏蔽資源文件的類型進行對比,以準確確定出需屏蔽資源文件中的可見資源文件和非可見資源文件,進而針對不同類型的資源文件采用不同的處理手段進行處理,通過對需屏蔽資源文件中非可見類型的資源文件的資源請求進行攔截,避免了下載任何不必要的資源,進而達到了避免占用網絡流量所造成的加載速度降低的弊端;通過對需屏蔽資源文件中可見類型的資源文件以相同占位符的預設資源文件進行替換,避免資源文件被攔截后因圖像占位符或網頁框架被屏蔽所造成的網頁空白顯示,進而達到了提升網頁美觀度。
[0050]從以上的描述中,可以看出,本發明實現了在瀏覽器內核加載資源前即捕獲請求并進行處理,以避免下載任何不必要的資源,達到了提升加載速度的效果,同時通過按照被屏蔽元素在網頁中的占位符進行屏蔽元素的替換,避免了因元素被屏蔽所造成的網頁空白顯示的錯誤,達到了提 升網頁美觀度的效果。
[0051]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
[0052]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0053]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種網頁元素屏蔽方法,其特征在于,包括: 獲取資源請求; 獲取所述資源請求中的第一資源請求,其中,所述第一資源請求對應的資源文件為屏蔽資源; 加載所述資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,所述第一資源文件為所述第一資源請求對應的資源文件;以及輸出加載后的資源文件以生成網頁。
2.根據權利要求1所述的網頁元素屏蔽方法,其特征在于,對所述第一資源文件進行屏蔽包括: 獲取所述第一資源文件的類型; 判斷獲取到的類型是第一預設類型還是第二預設類型,其中,所述第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,所述第二預設類型表示的資源文件在網頁顯示中為可見資源文件; 若判斷出獲取到的類型是所述第一預設類型,則對所述第一資源請求進行攔截;以及若判斷出獲取到的類型是所述第二預設類型,則獲取所述第一資源文件的占位符,并以第一預設資源文件替換所述第一資源文件,其中,所述第一預設資源文件的占位符與獲取到的占位符相同。
3.根據權利要求1所述的網頁元素屏蔽方法,其特征在于,所述第一資源請求包括第一資源子請求和第二資源子請求,所述第一資源子請求對應的資源文件為第一資源子文件,所述第二資源子請求對應的資源文件為第二資源子文件,對所述第一資源文件進行屏蔽包括: 分別獲取所述第一資源子文件和所述第二資源子文件的類型; 判斷獲取到的所述第一資源子文件的類型是第一預設類型還是第二預設類型,其中,所述第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,所述第二預設類型表示的資源文件在網頁顯示中為可見資源文件; 判斷獲取到的所述第二資源子文件的類型是所述第一預設類型還是所述第二預設類型; 若判斷出所述第一資源子文件的類型是所述第一預設類型,并且所述第二資源子文件的類型是所述第二預設類型,則對所述第一資源子請求進行攔截,并對所述第二資源子文件的占位符進行獲取后以第二預設資源文件替換所述第二資源子文件,其中,所述第二預設資源文件的占位符與所述第二資源子文件的占位符相同;以及 若判斷出所述第二資源子文件的類型是所述第一預設類型,并且所述第一資源子文件的類型是所述第二預設類型,則對所述第二資源子請求進行攔截,并對所述第一資源子文件的占位符進行獲取后以第三預設資源文件替換所述第一資源子文件,其中,所述第三預設資源文件的占位符與所述第一資源子文件的占位符相同。
4.根據權利要求2所述的網頁元素屏蔽方法,其特征在于,獲取所述第一資源文件的類型包括: 獲取產生所述第一資源請求的內核類型; 判斷獲取到的內核類型是Trident內核還是Webkit內核;若判斷出獲取到的內核類型為所述Trident內核,則獲取所述第一資源請求的地址信息并根據所述地址信息獲取所述第一資源文件的類型;以及 若判斷出獲取到的內核類型為所述Webkit內核,則直接獲取所述第一資源文件的類型。
5.根據權利要求4所述的網頁元素屏蔽方法,其特征在于,根據所述地址信息獲取所述第一資源文件的類型包括: 獲取所述地址信息的擴展名信息;以及 對所述擴展名信息進行分類以得到所述第一資源文件的類型。
6.一種網頁元素屏蔽裝置,其特征在于,包括: 第一獲取單元,用于獲取資源請求; 第二獲取單元,用于獲取所述資源請求中的第一資源請求,其中,所述第一資源請求對應的資源文件為屏蔽資源; 處理單元,用于加載所述資源請求對應的資源文件并對第一資源文件進行屏蔽,其中,所述第一資源文件為所述第一資源請求對應的資源文件;以及輸出單元,用于輸出加載后的資源文件以生成網頁。
7.根據權利要求6所述的網頁元素屏蔽裝置,其特征在于,所述處理單元包括: 獲取子單元,用于獲取所述第一資源文件的類型; 判斷子單元,用于判斷獲取到的類型是第一預設類型還是第二預設類型,其中,所述第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,所述第二預設類型表示的資源文件在網頁顯示中為可見資源文件; 攔截子單元,用于在所述判斷子單元判斷出獲取到的類型是所述第一預設類型時,對所述第一資源請求進行攔截;以及 替換子單元,用于在所述判斷子單元判斷出獲取到的類型是所述第二預設類型時,獲取所述第一資源文件的占位符,并以第一預設資源文件替換所述第一資源文件,其中,所述第一預設資源文件的占位符與獲取到的占位符相同。
8.根據權利要求6所述的網頁元素屏蔽裝置,其特征在于,所述第一資源請求包括第一資源子請求和第二資源子請求,所述第一資源子請求對應的資源文件為第一資源子文件,所述第二資源子請求對應的資源文件為第二資源子文件,所述處理單元包括: 獲取子單元,用于分別獲取所述第一資源子文件和所述第二資源子文件的類型; 第一判斷子單元,用于判斷獲取到的所述第一資源子文件的類型是第一預設類型還是第二預設類型,其中,所述第一預設類型表示的資源文件在網頁顯示中為非可見資源文件,所述第二預設類型表示的資源文件在網頁顯示中為可見資源文件; 第二判斷子單元,用于判斷獲取到的所述第二資源子文件的類型是所述第一預設類型還是所述第二預設類型; 第一處理子單元,用于在所述第一判斷子單元判斷出所述第一資源子文件的類型是所述第一預設類型,并且所述第二判斷子單元判斷出所述第二資源子文件的類型是所述第二預設類型時,對所述第一資源子請求進行攔截,并對所述第二資源子文件的占位符進行獲取后以第二預設資源文 件替換所述第二資源子文件,其中,所述第二預設資源文件的占位符與所述第二資源子文件的占位符相同;以及第二處理子單元,用于在所述第二判斷子單元判斷出所述第二資源子文件的類型是所述第一預設類型,并且所述第一判斷子單元判斷出所述第一資源子文件的類型是所述第二預設類型時,對所述第二資源子請求進行攔截,并對所述第一資源子文件的占位符進行獲取后以第三預設資源文件替換所述第一資源子文件,其中,所述第三預設資源文件的占位符與所述第一資源子文件的占位符相同。
9.根據權利要求7所述的網頁元素屏蔽裝置,其特征在于,所述獲取子單元包括: 第一獲取模塊,用于獲取產生所述第一資源請求的內核類型; 判斷模塊,用于判斷獲取到的內核類型是Trident內核還是Webkit內核; 第二獲取模塊,用于在所述判斷模塊判斷出獲取到的內核類型為所述Trident內核時,獲取所述第一資源請求的地址信息并根據所述地址信息獲取所述第一資源文件的類型;以及 第三獲取模塊,用于在所述判斷模塊判斷出獲取到的內核類型為所述Webkit內核時,直接獲取所述第一資源文件的類型。
10.根據權利要求9所述的網頁元素屏蔽裝置,其特征在于,所述第二獲取模塊包括: 獲取子模塊,用于獲取所述地址信息的擴展名信息;以及 分類子模塊, 用于對所述擴展名信息進行分類以得到所述第一資源文件的類型。
【文檔編號】G06F17/30GK103810193SQ201210446096
【公開日】2014年5月21日 申請日期:2012年11月8日 優先權日:2012年11月8日
【發明者】楊振輝, 丁川達, 張天毅, 徐鳴, 張志和 申請人:北京金山安全軟件有限公司, 北京金山網絡科技有限公司, 貝殼網際(北京)安全技術有限公司, 可牛網絡技術(北京)有限公司