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

一種雙WebView展示定制頁面的方法及系統(tǒng)的制作方法

文檔序號:6500293閱讀:111來源:國知局
一種雙WebView展示定制頁面的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種雙WebView展示定制頁面的方法及系統(tǒng),其中的方法包括:根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型;根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板;在所述新WebView中創(chuàng)建內(nèi)置JS對象以使運行在所述新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù);根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在所述新WebView內(nèi)生成一個新頁面作為定制頁面;展示定制頁面。本發(fā)明能夠在無需定制服務(wù)器支持及修改原始頁面的情況下,實現(xiàn)對網(wǎng)頁的定制,并實現(xiàn)在原始頁面及定制頁面中無縫切換,基本無需任何時間上的開銷,并且能屏蔽網(wǎng)頁的廣告。
【專利說明】—種雙WebView展示定制頁面的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,更為具體地,涉及一種雙WebView展示定制頁面的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的人喜歡通過移動終端設(shè)備瀏覽網(wǎng)頁,享受著把互聯(lián)網(wǎng)裝入口袋的便利。由于受到移動終端設(shè)備的硬件限制,其瀏覽器的瀏覽效果遠遠比不上PC瀏覽器的瀏覽效果,再者如果把在PC瀏覽器上瀏覽的網(wǎng)頁照搬到移動終端設(shè)備的瀏覽器上,又將會耗費大量的流量。因此,目前很多移動終端設(shè)備的瀏覽器都實現(xiàn)了對網(wǎng)頁的定制。
[0003]一般情況下,瀏覽器對網(wǎng)頁的定制主要有以下兩種方式:
[0004]1、將用戶的瀏覽器對網(wǎng)頁的請求轉(zhuǎn)至對瀏覽器廠商服務(wù)器的請求,由廠商的服務(wù)器到網(wǎng)頁的真實地址獲取網(wǎng)頁數(shù)據(jù),在廠商的服務(wù)器作網(wǎng)頁的定制。
[0005]2、通過正常途徑獲取網(wǎng)頁數(shù)據(jù),也就是不通過廠商服務(wù)器的中轉(zhuǎn)和定制,但是瀏覽器在獲取了網(wǎng)頁數(shù)據(jù)后,瀏覽器通過注入JS (JavaScript, Java腳本語言)或者通過其他途徑對DOM (HTML Document Object Model,文檔對象模型)樹進行修改,通過對DOM樹的修改,修改網(wǎng)頁的展示效果和功能,達到定制的目的。
[0006]然而,現(xiàn)有的這兩種實現(xiàn)方式都存在著較大的不足。
[0007]首先,通過廠商服務(wù)器對網(wǎng)頁進行定制,那么就必須要有一些后臺服務(wù)器一直維持著頁面的定制功能,從而加大了維護的成本;并且一旦服務(wù)器出現(xiàn)問題,就會影響網(wǎng)頁的定制功能。同時,通過這種中轉(zhuǎn)的形式,也會降低網(wǎng)頁打開的速度。
[0008]其次,通過注入JS或者其他途徑修改DOM樹,會破壞原有網(wǎng)頁的DOM樹結(jié)構(gòu),對網(wǎng)頁的緩存和保存網(wǎng)頁源代碼等功能造成影響。由于舊頁面已經(jīng)被改動,重新打開網(wǎng)頁時已經(jīng)無法利用這棵已經(jīng)緩存的DOM樹,而保存網(wǎng)頁源代碼的過程其實就是重新將DOM樹解析成字符串,因此,原有的網(wǎng)頁緩存和保存源代碼功能就失去了作用。同時,使用這種注入JS或者修改DOM樹的實現(xiàn)方式無法在定制后屏蔽網(wǎng)頁JS控制的廣告。
[0009]最后,現(xiàn)有的這兩種網(wǎng)頁定制實現(xiàn)方式都無法在進入定制模式與退出定制模式時進行無縫切換。

【發(fā)明內(nèi)容】

[0010]鑒于上述問題,本發(fā)明的目的是提供一種雙WebView展示定制頁面的方法及系統(tǒng),以實現(xiàn)對網(wǎng)頁的定制和在原始頁面以及定制頁面中進行無縫切換。
[0011]根據(jù)本發(fā)明的一個方面,提供了一種雙WebView展示定制頁面的方法,包括:
[0012]根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型;
[0013]根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板;[0014]在所述新WebView中創(chuàng)建內(nèi)置JS對象以使運行在所述新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù);
[0015]根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在所述新WebView內(nèi)生成一個新頁面作為定制頁面;
[0016]展示所生成的定制頁面。
[0017]其中,所述根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型的過程包括:在原始網(wǎng)頁加載到預(yù)先設(shè)置的階段時,根據(jù)加載的原始網(wǎng)頁信息此外,優(yōu)選的方案是,所述預(yù)先設(shè)置的階段為所述原始網(wǎng)頁的DOM樹開始構(gòu)建時、所述原始網(wǎng)頁的DOM樹構(gòu)建完成時或者所述原始網(wǎng)頁的BODY節(jié)點開始建構(gòu)時。
[0018]此外,優(yōu)選的方案是,在所述新WebView中創(chuàng)建內(nèi)置JS對象的過程中,在所述內(nèi)置JS對象中添加兩個接口以訪問所述原網(wǎng)頁的WebView中的Document對象和Window對象。
[0019]此外,優(yōu)選的方案是,通過對新WebView和原網(wǎng)頁的WebView之間的相互切換,完成網(wǎng)頁在定制模式和非定制模式之間的相互轉(zhuǎn)換。
[0020]其中,所述定制模式和非定制模式之間的相互轉(zhuǎn)換的過程包括:當退出定制模式時,將所述原網(wǎng)頁的WebView覆蓋在所述新WebView上;當退出定制頁面后再進入定制模式時,將所述新WebView覆蓋在所述原網(wǎng)頁的WebView上。
[0021]其中,通過對新WebView的操作,完成對原網(wǎng)頁的WebView的數(shù)據(jù)更改,進而更改定制頁面的數(shù)據(jù),完成新WebView和所述原網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞。
[0022]另一方面,本發(fā)明提供一種雙WebView展示定制頁面的系統(tǒng),包括:
[0023]模板類型確定單元,用于根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型;
[0024]模板加載單元,用于根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板;
[0025]頁面數(shù)據(jù)獲取單元,用于在所述新WebView中創(chuàng)建內(nèi)置JS對象以使運行在所述新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù);
[0026]定制頁面生成單元,用于根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在所述新WebView內(nèi)生成一個新頁面作為定制頁面;
[0027]定制頁面展示單元,用于展示所述定制頁面。
[0028]利用上述根據(jù)本發(fā)明的雙WebView展示定制頁面的方法及系統(tǒng),在無需定制服務(wù)器支持及修改原網(wǎng)頁頁面的情況下,能夠?qū)崿F(xiàn)對網(wǎng)頁的定制,并能夠?qū)崿F(xiàn)在原網(wǎng)頁頁面及定制頁面中的切換,基本無需任何時間上的開銷,并且能屏蔽網(wǎng)頁的廣告。同時,原網(wǎng)頁頁面會在定制結(jié)束后一直保留,與定制頁面并存。用戶對定制頁面的操作都能有效的傳遞給原網(wǎng)頁,原網(wǎng)頁對用戶操作的反饋能給定制頁面捕捉,從而使得定制頁面能及時的局部更新或者全局更新。
[0029]為了實現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個或多個方面包括后面將詳細說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細說明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
【專利附圖】

【附圖說明】[0030]通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中:
[0031]圖1為根據(jù)本發(fā)明實施例的雙WebView展示定制頁面的方法流程示意圖;
[0032]圖2為根據(jù)本發(fā)明實施例的生成定制頁面的流程示意圖;
[0033]圖3為根據(jù)本發(fā)明實施例的新WebView和原始網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞過程不意圖;
[0034]圖4為根據(jù)本發(fā)明實施例的雙WebView展示定制頁面的系統(tǒng)方框示意圖。
[0035]在所有附圖中相同的標號指示相似或相應(yīng)的特征或功能。
【具體實施方式】
[0036]以下將結(jié)合附圖對本發(fā)明的具體實施例進行詳細描述。
[0037]需要說明的是,本發(fā)明中所涉及的移動終端設(shè)備主要指手機等利用移動終端瀏覽器和移動互聯(lián)網(wǎng)進行網(wǎng)絡(luò)訪問的終端設(shè)備。另外,為了清楚地說明本發(fā)明的技術(shù)方案,以下先對描述本發(fā)明的過程中涉及的一些名詞作出解釋。
[0038]瀏覽器內(nèi)核:負責(zé)對網(wǎng)頁進行加載、顯示、以及JS的執(zhí)行的部分,是瀏覽器的核心。
[0039]WebView:是一個用來顯不網(wǎng)頁頁面的視圖,瀏覽器內(nèi)核排版渲染出來的畫面,會在WebView上顯示出來,用戶通過移動終端瀏覽器所看到的網(wǎng)頁內(nèi)容都是在WebView上顯
/Jn ο
[0040]Document對象:Javascript語言提供的一個內(nèi)置對象,用來操縱網(wǎng)頁的Dom樹、事件等。
[0041]Window對象:Javascript語言提供的一個內(nèi)置對象,能用來訪問網(wǎng)頁的一些變量
坐寸ο
[0042]模板:一些JS文件和html文件的集合,利用這些文件能夠?qū)υ季W(wǎng)頁的頁面數(shù)據(jù)進行抽取,并構(gòu)建出新的定制頁面。
[0043]D0M:文檔對象模型。
[0044]BODY節(jié)點:網(wǎng)頁的一個特殊節(jié)點。
[0045]原始網(wǎng)頁:移動終端瀏覽器最初請求加載的網(wǎng)頁,根據(jù)該原始網(wǎng)頁息確定定制頁面的模板類型。
[0046]原網(wǎng)頁:是與定制頁面相對的直接通過移動互聯(lián)網(wǎng)加載的網(wǎng)頁,它可以是移動終端瀏覽器最初請求加載的網(wǎng)頁,即原始網(wǎng)頁;也可以是在原始網(wǎng)頁的基礎(chǔ)上經(jīng)過刷新、搜索等操作演變的網(wǎng)頁。
[0047]現(xiàn)有技術(shù)中,在沒有服務(wù)器的支持和必須修改原網(wǎng)頁的情況下才能實現(xiàn)網(wǎng)頁的定制,并且在原網(wǎng)頁和定制頁面中切換耗時久,也不能很好屏蔽網(wǎng)頁廣告。為了解決這一問題,本發(fā)明通過網(wǎng)頁的WebView覆蓋,在無需瀏覽器廠商服務(wù)器支持的情況下對頁面進行定制;同時,在這種頁面定制的過程中,無需對頁面的內(nèi)容進行修改,還可以快速地在定制頁面與原網(wǎng)頁中進行切換,并且屏蔽網(wǎng)頁的廣告。
[0048]以下以安卓平臺為例對本發(fā)明的雙WebView展示定制頁面的方法做更為詳細地介紹,其他平臺實現(xiàn)方法類似。[0049]圖1示出了根據(jù)本發(fā)明實施例的雙WebView展示定制頁面的方法流程示意圖,如圖1所示:
[0050]SllO:根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型;
[0051]S120:根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)原始網(wǎng)頁信息確定的定制頁面模板;
[0052]S130:在所構(gòu)建的新WebView中創(chuàng)建內(nèi)置JS對象以使運行在該新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù)。
[0053]其中,在新WebView中創(chuàng)建內(nèi)置JS對象的過程中,在該內(nèi)置JS對象中添加兩個接口以使新WebView能夠通過這兩個接口訪問原網(wǎng)頁的WebView中的Document對象和Window對象,從而獲取原網(wǎng)頁的所有頁面數(shù)據(jù)。
[0054]S140:根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),利用JS語言在新WebView內(nèi)生成一個新頁面作為定制頁面。
[0055]S150:展示生成的定制頁面。
[0056]在步驟SllO中確定定制頁面的模板類型的過程包括:在原始網(wǎng)頁加載到預(yù)先設(shè)置的階段時,根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型。在本發(fā)明的實施例中,預(yù)先設(shè)置的階段也就是網(wǎng)頁加載到的某個具體階段,該具體階段可以是原始網(wǎng)頁的DOM樹開始構(gòu)建時,或者原始網(wǎng)頁的DOM樹構(gòu)建完成時,也可以原始網(wǎng)頁的BODY節(jié)點開始建構(gòu)時。
[0057]根據(jù)網(wǎng)頁功能的不同,網(wǎng)頁的頁面模式也是各不相同,例如具有論壇功能的網(wǎng)頁,其頁面模式為論壇模式;閱讀功能的網(wǎng)頁,其頁面模式則為閱讀模式。不同功能的網(wǎng)頁,其頁面模式有其自己的特點,但是,并不是所有的頁面模式都能定制,也不是所有的頁面模式都具有定制的必要和定制的意義。對于某些功能單一、頁面特點突出的頁面,如論壇網(wǎng)頁頁面、小說瀏覽網(wǎng)頁頁面等,可以通過定制濾除一些與網(wǎng)頁主要功能無關(guān)的廣告等內(nèi)容。而對于某些綜合性的網(wǎng)站,由于其包括的內(nèi)容模塊復(fù)雜并且功能多樣,因此無法以單一的頁面模式對其進行定制。
[0058]根據(jù)網(wǎng)頁加載過程中的DOM的結(jié)構(gòu)或者BODY節(jié)點的特點,就可以判斷出該網(wǎng)頁是否單一的功能性網(wǎng)頁,從而確定該網(wǎng)頁是否可以定制。相應(yīng)地,在本發(fā)明的一個【具體實施方式】中,定制頁面的模板類型包括論壇模式、閱讀模式和小說模式。
[0059]作為本發(fā)明的一個優(yōu)選實施方式,當原始網(wǎng)頁加載到某個具體階段時,需要對該頁面進行定制判斷,用以判斷該網(wǎng)頁是否可以定制,如果該網(wǎng)頁不能定制,那么正常加載該網(wǎng)頁;否則,利用網(wǎng)頁加載到的具體階段判斷出定制頁面的模板類型。例如,當原始網(wǎng)頁加載到某個具體階段時,利用原始網(wǎng)頁的URL (Uniform/Universal Resource Locator,統(tǒng)一資源定位符)或者是原始網(wǎng)頁的Metal標簽信息也可以判斷出該網(wǎng)頁是否能定制,同樣利用該信息也能判斷出定制頁面需要用到哪種類型的模板。
[0060] 在上述思路的基礎(chǔ)上,對于本領(lǐng)域技術(shù)人員來說,可以采用多種手段根據(jù)加載的網(wǎng)頁數(shù)據(jù)信息判斷定制的模板類型,例如,當獲取了所加載的網(wǎng)頁的head標簽的數(shù)據(jù)后,檢查是否有name為generator的meta標簽,若有,則獲取這個meta標簽的content值,content值則為論壇的類型。如:若head存在這樣的一個標簽〈meta name=〃generator〃content=〃Discuz !X2〃>那么就知道這個網(wǎng)頁是Discuz !X2論壇,可以使用Discuz !X2的訂制模板。[0061]另外,如果用戶訪問的網(wǎng)址域名為www.qidian.com等常用的小說網(wǎng)站,可以通過預(yù)置的記錄特定網(wǎng)站的白名單來判斷出該網(wǎng)站是一個小說網(wǎng)站,則加載網(wǎng)頁的過程中就可以直接使用小說網(wǎng)站的定制模式。其中,預(yù)置的記錄特定網(wǎng)站的白名單可以包括小說網(wǎng)站列表、論壇網(wǎng)站列表等。
[0062]其中,根據(jù)原始網(wǎng)頁頁面模式的不同,定制頁面的模板類型可以是論壇模式,或者是閱讀模式,或者是小說模式。
[0063]為了清楚說明雙WebView展示定制頁面的方法,圖2示出了根據(jù)本發(fā)明實施例的生成定制頁面的流程示意圖,以下將結(jié)合圖2對定制頁面的生成作詳細說明。如圖2所示:
[0064]S210:當原始網(wǎng)頁加載到某個具體階段時,判斷原始網(wǎng)頁是否可以定制,如果可定制,執(zhí)行步驟S230,否則執(zhí)行步驟S220 ;
[0065]S220:正常加載原始網(wǎng)頁;
[0066]S230:確定定制頁面的模板類型;
[0067]S240:根據(jù)定制頁面的模板類型,構(gòu)建新的WebView ;
[0068]S250:在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板;
[0069]S260:在新WebView中創(chuàng)建一個內(nèi)置JS對象,使內(nèi)置JS對象訪問原網(wǎng)頁的WebView 的 Document 對象和 Window 對象;
[0070]S270:新WebView所運行的模板利用原網(wǎng)頁的WebView中的Document對象和Window對象獲取原網(wǎng)頁DOM節(jié)點數(shù)據(jù)和原網(wǎng)頁的其他數(shù)據(jù);
[0071]S280:新WebView利用獲取的原網(wǎng)頁DOM節(jié)點數(shù)據(jù)和原網(wǎng)頁的其他數(shù)據(jù)原始網(wǎng)頁,在新WebView頁面的DOM樹上構(gòu)建定制頁面;
[0072]S290:持續(xù)根據(jù)定制頁面的模板信息和原網(wǎng)頁的頁面信息進行定制,直到完成定制頁面構(gòu)建。
[0073]在本實施例中,定制頁面的模板是由一些HTML文件及JS文件組成,定制頁面模板的JS能使用一個特殊的JS對象。作為示例,假設(shè)這個對象名字為JSController,通過JSController獲取到被覆蓋的原網(wǎng)頁的WebView所打開的Document對象和Window對象。通過Document對象和Window對象,就能獲取到原網(wǎng)頁的所有頁面數(shù)據(jù)。利用這些原網(wǎng)頁的頁面數(shù)據(jù)和信息用JS語言提供的方法在新WebView內(nèi)生成一個新的頁面,新頁面即為定制頁面。
[0074]當把新WebView覆蓋在原始網(wǎng)頁的WebView上后,雖然會有兩個WebView,但用戶只能在新WebView上操作,同時用戶也只能看到新WebView,也就是定制頁面的WebView。原網(wǎng)頁的WebView并不會在定制結(jié)束后進行銷毀,它只是被新WebView覆蓋和遮蔽,通過對新WebView和原網(wǎng)頁的WebView之間的相互切換,就可以完成網(wǎng)頁在定制模式和非定制模式之間的相互轉(zhuǎn)換。
[0075]其中,定制模式和非定制模式之間的相互轉(zhuǎn)換的過程包括:當退出定制模式時,將原網(wǎng)頁的WebView覆蓋在新WebView上;當退出定制頁面后再進入定制模式時,將新WebView覆蓋在原網(wǎng)頁的WebView上。
[0076]正是由于原網(wǎng)頁的WebView在定制結(jié)束后不會被銷毀,而只是被新WebView覆蓋和遮避,因此其又將作為事件的處理者和數(shù)據(jù)的提供者為新WebView服務(wù)。[0077]具體地,作為示例,當用戶對新WebView進行操作時,例如在文本框中輸入文字或者點擊某個按鈕時,新WebView可以將操作傳遞給原網(wǎng)頁的WebView,由原網(wǎng)頁的WebView處理及響應(yīng)此操作,新WebView可以將原網(wǎng)頁的WebView的響應(yīng)繼續(xù)定制和展現(xiàn)。這兩個WebView相互依存,協(xié)同工作,原網(wǎng)頁的WebView通過新WebView獲取用戶輸入,又充當新WebView的事件處理者和數(shù)據(jù)提供者。
[0078]也就是說,通過對新WebView的操作,完成對原網(wǎng)頁的WebView的數(shù)據(jù)更改,進而更改定制頁面的數(shù)據(jù),完成新WebView和所述原網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞。
[0079]圖3示出了根據(jù)本發(fā)明實施例的新WebView和原網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞過程示意圖,如圖3所示:
[0080]S310:用戶在新WebView上進行操作;
[0081]S320:新WebView的JS被觸發(fā),通過原網(wǎng)頁的Document對象和Windows對象將操作發(fā)送給原網(wǎng)頁的WebView ;
[0082]S330:原網(wǎng)頁的WebView響應(yīng)操作;
[0083]S340:當原網(wǎng)頁的WebView響應(yīng)操作后,新WebView將原網(wǎng)頁的WebView的改變定制在新WebView上;本步驟中的新WebView監(jiān)聽到原網(wǎng)頁的WebView的改變后利用頁面定制的規(guī)則將原網(wǎng)頁的WebView的改變實時定制在新WebView上。
[0084]S350:判斷是否繼續(xù)監(jiān)聽用戶在新WebView上的操作,如果是執(zhí)行步驟S310,否則結(jié)束。
[0085]通過上述的實施例可以看出,本發(fā)明提供的雙WebView展示定制頁面的方法,能夠在無需瀏覽器廠商服務(wù)器支持的情況下對頁面進行定制;同時,在這種定制過程中,無需對頁面的內(nèi)容進行修改;另外,由于原網(wǎng)頁的WebView在定制結(jié)束后不會被銷毀,因此可以快速、無縫地在原網(wǎng)頁和定制頁面中進行切換;并且更好地利用緩存。
[0086]更為重要的是,現(xiàn)有的網(wǎng)頁定制技術(shù)在對頁面的定制過程中,無法徹底的隱藏原始網(wǎng)頁的一些特殊元素,由于原網(wǎng)頁的JS可能會通過一些定時器生成一些其他的網(wǎng)頁元素,這些元素會給原本的定制頁面造成干擾,例如彈出廣告。但是,本發(fā)明提供的雙WebView展示定制頁面的方法是將定制頁面的WebView覆蓋在原網(wǎng)頁的WebView上,因此,原網(wǎng)頁彈出的其他元素,都不會對定制頁面造成影響,由于原網(wǎng)頁的WebView被蓋在下方,無法影響到定制頁面的WebView,而原網(wǎng)頁的WebView又不會在定制結(jié)束后進行銷毀。這兩個WebView相互依存,協(xié)同工作,原網(wǎng)頁的WebView通過新WebView獲取用戶輸入,又充當新WebView的事件處理者和數(shù)據(jù)提供者。
[0087]下面將以幾個具體的應(yīng)用實施例對本發(fā)明雙WebView展示定制頁面的技術(shù)效果進行說明。
[0088]實例一:
[0089]現(xiàn)有的某移動終端瀏覽器通過中間件服務(wù)器協(xié)助進行頁面的定制,如論壇模式,小說閱讀模式的定制等。但隨著WIFI的普遍應(yīng)用,通過這種中轉(zhuǎn)的方式,速度可能會有所降低。同時,這樣會導(dǎo)致客戶端與服務(wù)器耦合,某些不確定因素還會導(dǎo)致瀏覽器的中間件服務(wù)器無法正常運行,從而致使這些需要用到定制服務(wù)的功能也都無法使用。然而,使用本發(fā)明提供的雙WebView展示定制頁面的方法,由于無需服務(wù)器的支持也能進行頁面的定制,因此不會受到服務(wù)器性能的影響。[0090]實例二:
[0091]假設(shè)某定制模式是在瀏覽器客戶端本地進行通過注入JS修改網(wǎng)頁DOM樹完成的,當想退出定制模式時,這個時候只能刷新頁面,或者移除對DOM樹的修改。刷新會很耗時,而刪除對DOM樹的修改也需要執(zhí)行大量的JS,耗費了機器的資源,且因為執(zhí)行了這個耗時的JS操作,無法做到無縫切換。
[0092]但是,使用本發(fā)明提供的雙WebView展示定制頁面的方法,當想退出定制模式時,只需將定制頁面的WebView與原始網(wǎng)頁的WebView交換位置就行,無需執(zhí)行任何的JS,當又想重新進入閱讀模式,又可以通過交換原網(wǎng)頁的WebView與定制頁面的WebView的位置來實現(xiàn)。
[0093]實例三:
[0094]假設(shè)某定制模式是在瀏覽器客戶端本地進行通過注入JS修改網(wǎng)頁DOM樹完成的,但這個原頁面的JS啟動了一些定時器,這些定時器會每隔一段時間彈一個廣告出來。這樣的話,定制頁面也會顯示這些廣告,因為定制頁面無法判斷出這些廣告,無法將這些廣告隱藏或刪除。
[0095]而使用本發(fā)明提供的雙WebView展示定制頁面的方法,原頁面彈出的廣告只會在原頁面中顯示,但是由于原頁面被另外一個新WebView覆蓋,也就是被定制頁面的WebView覆蓋,因而不會對定制頁面有任何的影響。
[0096]實例四:
[0097]當打開定制頁面,想要保存原網(wǎng)頁時,瀏覽器的保存功能會導(dǎo)致的定制頁面的信息也被保存。同時瀏覽器也很難100%還原原網(wǎng)頁的網(wǎng)頁代碼。而使用本發(fā)明提供的雙WebView展示定制頁面的方法,由于沒有對原網(wǎng)頁的DOM樹進行修改,因此能夠完整地保存原始網(wǎng)頁的數(shù)據(jù)。
[0098]通過以上具體應(yīng)用實施例,可以看出,使用本發(fā)明提供的雙WebView展示定制頁面的方法,能夠?qū)崿F(xiàn)對網(wǎng)頁的定制,并能夠在原網(wǎng)頁的頁面及定制頁面之間實現(xiàn)無縫切換,并且能很好地屏蔽網(wǎng)頁的廣告。
[0099]與上述方法相對應(yīng),本發(fā)明還提供了一種雙WebView展示定制頁面的系統(tǒng)。圖4示出了根據(jù)本發(fā)明實施例的雙WebView展示定制頁面的系統(tǒng)方框示意圖,如圖4所示,本發(fā)明提供的雙WebView展示定制頁面的系統(tǒng)400包括模板類型確定單元410、模板加載單元420、頁面數(shù)據(jù)獲取單元430、定制頁面生成單元440和定制頁面展示單元450,其中,頁面數(shù)據(jù)獲取單元430還可以包括內(nèi)置JS對象創(chuàng)建單元(圖中未示出)。
[0100]其中,模板類型確定單元410用于根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型;模板加載單元420用于根據(jù)定制頁面模板確定單元410所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)原始網(wǎng)頁信息確定的定制頁面模板;頁面數(shù)據(jù)獲取單元430用于在所構(gòu)建的新WebView中創(chuàng)建內(nèi)置JS對象以使運行在該新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取原網(wǎng)頁的頁面數(shù)據(jù);定制頁面生成單元440用于根據(jù)頁面數(shù)據(jù)獲取單元430所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在新WebView內(nèi)生成一個新頁面作為定制頁面;定制頁面展示單元450用于展示頁面定制單元440所生成的定制頁面。
[0101]頁面數(shù)據(jù)獲取單元430進一步包括內(nèi)置JS對象創(chuàng)建單元,用于在新WebView中創(chuàng)建內(nèi)置JS對象,并在所創(chuàng)建的內(nèi)置JS對象中添加兩個接口以訪問原網(wǎng)頁的WebView中的Document對象和Window對象
[0102]如上參照附圖以示例的方式描述了根據(jù)本發(fā)明的雙WebView展示定制頁面的方法及系統(tǒng)。但是,本領(lǐng)域技術(shù)人員應(yīng)當理解,對于上述本發(fā)明所提出的雙WebView展示定制頁面的方法及系統(tǒng),還可以在不脫離本
【發(fā)明內(nèi)容】
的基礎(chǔ)上做出各種改進。因此,本發(fā)明的保護范圍應(yīng)當由所附的權(quán)利要求書的內(nèi)容確定。
【權(quán)利要求】
1.一種雙WebView展示定制頁面的方法,包括: 根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型; 根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板; 在所述新WebView中創(chuàng)建內(nèi)置JS對象以使運行在所述新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù); 根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在所述新WebView內(nèi)生成一個新頁面作為定制頁面; 展示所述定制頁面。
2.如權(quán)利要求1所述的雙WebView展示定制頁面的方法,其中,所述根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型的過程包括: 在原始網(wǎng)頁加載到預(yù)先設(shè)置的階段時,根據(jù)加載的原始網(wǎng)頁信息,確定所述定制頁面的模板類型。
3.如權(quán)利要求2所述的雙WebView展示定制頁面的方法,其中,所述預(yù)先設(shè)置的階段為所述原始網(wǎng)頁的DOM樹開始構(gòu)建時、所述原始網(wǎng)頁的DOM樹構(gòu)建完成時或者所述原始網(wǎng)頁的BODY節(jié)點開始建構(gòu)時。
4.如權(quán)利要求1所述的雙WebView展示定制頁面的方法,其中,在所述新WebView中創(chuàng)建內(nèi)置JS對象的過程中,在所述內(nèi)置JS對象中添加兩個接口以訪問所述原網(wǎng)頁的WebVi ew中的Document對象和Window對象。
5.如權(quán)利要求1所述的雙WebView展示定制頁面的方法,其中,通過對所述新WebView和原網(wǎng)頁的WebView之間的相互切換,完成網(wǎng)頁在定制模式和非定制模式之間的相互轉(zhuǎn)換。
6.如權(quán)利要求5所述的雙WebView展示定制頁面的方法,其中,所述定制模式和非定制模式之間的相互轉(zhuǎn)換的過程包括: 當退出定制模式時,將所述原網(wǎng)頁的WebView覆蓋在所述新WebView上; 當退出定制頁面后再進入定制模式時,將所述新WebView覆蓋在所述原網(wǎng)頁的WebView 上。
7.如權(quán)利要求1所述的雙WebView展示定制頁面的方法,其中,通過對所述新WebView的操作,完成對所述原網(wǎng)頁的WebView的數(shù)據(jù)更改,進而更改所述定制頁面的數(shù)據(jù),完成所述新WebView和所述原網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞。
8.如權(quán)利要求7所述的雙WebView展示定制頁面的方法,其中,所述新WebView和所述原網(wǎng)頁的WebView之間的數(shù)據(jù)傳遞過程包括: 當用戶在所述新WebView上進行操作時觸發(fā)創(chuàng)建的所述內(nèi)置JS對象,即通過所述原網(wǎng)頁的Document對象和Windows對象將所述操作發(fā)送給所述原網(wǎng)頁的WebView ; 所述原網(wǎng)頁的WebView響應(yīng)操作后,所述新WebView將所述原網(wǎng)頁的WebView的改變定制在所述新WebView上。
9.一種雙WebView展示定制頁面的系統(tǒng),包括: 模板類型確定單元,用于根據(jù)加載的原始網(wǎng)頁信息確定定制頁面的模板類型; 模板加載單元,用于根據(jù)所確定的定制頁面的模板類型,構(gòu)建新的WebView,并在所構(gòu)建的新WebView上加載根據(jù)所述原始網(wǎng)頁信息確定的定制頁面模板; 頁面數(shù)據(jù)獲取單元,用于在所述新WebView中創(chuàng)建內(nèi)置JS對象以使運行在所述新WebView上的定制頁面模板訪問原網(wǎng)頁的WebView以獲取所述原網(wǎng)頁的頁面數(shù)據(jù); 定制頁面生成單元,用于根據(jù)所獲取的原網(wǎng)頁的頁面數(shù)據(jù),在所述新WebView內(nèi)生成一個新頁面作為定制頁面; 定制頁面展示單元,用于展示所述定制頁面。
10.如權(quán)利要求9所述的雙WebView展示定制頁面的系統(tǒng),其中,所述頁面數(shù)據(jù)獲取單元進一步包括: 內(nèi)置JS對象創(chuàng)建單元,用于在所述新WebView中創(chuàng)建內(nèi)置JS對象,并在所述內(nèi)置JS對象中添加兩個接口以訪問所述原網(wǎng)頁的WebView中的Document對象和Window對象。
【文檔編號】G06F9/44GK104035753SQ201310067421
【公開日】2014年9月10日 申請日期:2013年3月4日 優(yōu)先權(quán)日:2013年3月4日
【發(fā)明者】梁捷, 俞永福, 何小鵬, 朱順炎, 馬妙魁, 張津偉 申請人:優(yōu)視科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
云和县| 陈巴尔虎旗| 宜都市| 团风县| 侯马市| 凤冈县| 锡林浩特市| 开封市| 琼结县| 广平县| 剑河县| 古蔺县| 永川市| 石首市| 威宁| 新疆| 伊吾县| 兴安县| 三明市| 丽江市| 南开区| 修水县| 依兰县| 北海市| 广丰县| 余江县| 隆子县| 新沂市| 延庆县| 章丘市| 开江县| 克拉玛依市| 龙口市| 辛集市| 江口县| 老河口市| 弥勒县| 安远县| 浦东新区| 石河子市| 福建省|