用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及瀏覽器領域,具體而言,涉及一種用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法和裝置。
【背景技術】
[0002]移動通訊終端通常處理能力弱,屏幕小,有些甚至無法運行瀏覽器內核。而個人計算機(Personal Computer,簡稱為PC)上的網頁又太大,不適合在移動通訊終端上展示,所以PC上的網頁頁面需要在后臺轉換處理后,將網頁頁面壓縮,剔除雜質后再展示在移動通訊終端上。在網頁頁面壓縮前,需要在后臺生成完整的網頁頁面文檔對象模型(DocumentObject Model,簡稱為DOM)樹。在生成完整的網頁頁面DOM樹的過程中,需要對網頁頁面資源進行抓取,利用瀏覽器內核解析JS,然后對網頁頁面資源進行壓縮清洗,否則網頁頁面會存在冗余信息或者無法完全顯示。因此,瀏覽器后臺需要有內核服務預先進行頁面加載。但在這個過程中,有些事件是需要用戶驅動后才能動態(tài)生成內容的,最典型的就是注冊頁面的驗證碼。
[0003]針對需要用戶參與點擊后才能生成相應內容的網頁,在后臺處理的過程中用戶無法參與點擊,因此,在后臺處理的過程中,如果忽略點擊的動作,網頁內容會顯示不全,網站的功能也會失效。
[0004]針對現(xiàn)有技術中在移動通訊終端加載網頁頁面時容易出現(xiàn)網頁內容顯示異常的問題,目如尚未提出有效的解決方案。
【發(fā)明內容】
[0005]本發(fā)明的主要目的在于提供一種用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法和裝置,以解決現(xiàn)有技術中在移動通訊終端加載網頁頁面時容易出現(xiàn)網頁內容顯示異常的問題。
[0006]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法。根據(jù)本發(fā)明的用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法包括:獲取網頁頁面;獲取預先存儲的用于加載網頁頁面的模擬點擊程序;運行模擬點擊程序以觸發(fā)用于加載網頁頁面的模擬點擊操作;根據(jù)模擬點擊操作觸發(fā)加載網頁頁面的程序,得到加載網頁內容;以及將加載網頁內容發(fā)送至移動通訊終端,其中,移動通訊終端用于展示加載網頁內容對應的網頁頁面。
[0007]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種用于移動通訊終端瀏覽器的數(shù)據(jù)處理裝置。根據(jù)本發(fā)明的用于移動通訊終端瀏覽器的數(shù)據(jù)處理裝置包括:第一獲取單元,用于獲取網頁頁面;第二獲取單元,用于獲取預先存儲的用于加載網頁頁面的模擬點擊程序;運行單元,用于運行模擬點擊程序以觸發(fā)用于加載網頁頁面的模擬點擊操作;觸發(fā)單元,用于根據(jù)模擬點擊操作觸發(fā)加載網頁頁面的程序,得到加載網頁內容;以及發(fā)送單元,用于將加載網頁內容發(fā)送至移動通訊終端,其中,移動通訊終端用于展示加載網頁內容對應的網頁頁面。
[0008]通過本實施例,解決了現(xiàn)有技術中在移動通訊終端加載網頁頁面時容易出現(xiàn)網頁內容顯示異常的問題,進而達到了在移動通訊終端正常加載網頁頁面的效果。
【附圖說明】
[0009]構成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0010]圖1是根據(jù)本發(fā)明實施例的用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法的流程圖;
[0011]圖2是根據(jù)本發(fā)明實施例的第一種獲取模擬點擊程序中的點擊動作標簽方法的流程圖;
[0012]圖3是根據(jù)本發(fā)明實施例的第二種獲取模擬點擊程序中的點擊動作標簽方法的流程圖;
[0013]圖4是根據(jù)本發(fā)明實施例的用于移動通訊終端瀏覽器的數(shù)據(jù)處理裝置的示意圖;
[0014]圖5是根據(jù)本發(fā)明實施例的第一種獲取模擬點擊程序中的點擊動作標簽裝置的示意圖;以及
[0015]圖6是根據(jù)本發(fā)明實施例的第二種獲取模擬點擊程序中的點擊動作標簽裝置的示意圖。
【具體實施方式】
[0016]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0017]為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0018]需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0019]圖1是根據(jù)本發(fā)明實施例的用于移動通訊終端瀏覽器的數(shù)據(jù)處理方法的流程圖。如圖1所示,該數(shù)據(jù)處理方法包括如下步驟:
[0020]步驟S102,獲取網頁頁面。
[0021]眾所周知,同一個網頁在PC瀏覽器上瀏覽和在移動通訊終端瀏覽器上瀏覽所展示的大小和樣式是不同的。這是由于移動通訊終端上瀏覽器的處理能力較PC瀏覽器的處理能力弱,移動通訊終端的顯示屏幕較PC的屏幕小,甚至,一些移動通訊終端無法運行瀏覽器內核,但是,為了使得在移動通訊終端顯示的網頁頁面盡量與PC瀏覽器上顯示的網頁頁面相同,在移動通訊終端兼顧方便瀏覽和美觀,需要對PC瀏覽器中的網頁頁面進行后臺服務器處理,經過后臺服務器處理的網頁頁面是需要在移動通訊終端瀏覽器中展示的網頁頁面,經過后臺服務器的處理,使得在PC瀏覽器中展示的網頁頁面適合在移動通訊終端瀏覽器中展示,再經過移動通訊終端的渲染之后,在移動通訊終端瀏覽器中完整顯示。
[0022]其中,移動通訊終端包括但不限于下述設備:安卓系統(tǒng)手機和平板電能、1S系統(tǒng)手機和平板電腦。移動通訊終端瀏覽器包括但不限于下述瀏覽器:QQ瀏覽器、谷歌瀏覽器、UC瀏覽器等瀏覽器。
[0023]在后臺服務器中,并不需要對所有在PC瀏覽器中展示的網頁進行處理使其適合在移動通訊終端中展示,后臺服務器只需要在接收到用戶請求瀏覽某個網頁的信息時,自動判斷是否需要對該網頁進行處理,如果確定需要對該請求瀏覽的網頁進行處理,則對該網頁頁面進行數(shù)據(jù)處理,使其能夠在移動通訊終端正常顯示和運行,不僅保留網頁頁面中的內容,還能剔除網頁雜質(如廣告等),節(jié)約移動通訊終端瀏覽器的流量消耗,同時保證網頁頁面的功能也能正常使用。
[0024]具體地,后臺服務器對網頁頁面進行處理時,首先抓取網頁頁面資源,解析網頁頁面資源的JS,然后在后臺服務器中形成網頁頁面的DOM樹。在形成網頁頁面的DOM樹之后,對網頁頁面進行壓縮,使其適合在移動通訊終端瀏覽器中瀏覽,并剔除多余的廣告等信息,使得在移動通訊終端瀏覽器中的瀏覽的網頁頁面不僅能夠顯示網頁頁面的所有內容(除廣告等冗余信息),還能夠節(jié)約移動通訊終端瀏覽網頁頁面的流量。
[0025]DOM樹是以層次結構組織的節(jié)點或信息片段的集合。這個層次結構允許開發(fā)人員在DOM樹中導航尋找特定信息。分析該結構通常需要加載整個文檔和構造層次結構。
[0026]本發(fā)明實施例中獲取的網頁頁面即需要在移動通訊終端瀏覽器中展示的網頁頁面。
[0027]步驟S104,獲取預先存儲的用于加載網頁頁面的模擬點擊程序。
[0028]如步驟S102中所述,移動通訊終端的后臺服務器需要一個內核服務,對獲取到的網頁頁面進行預加載,也就是對網頁頁面進行處理的過程。在預加載的過程中,有些網頁頁面的內容顯示需要用戶點擊觸發(fā),而在后臺服務器中的網頁頁面不會有用戶的參與,因此,為了使得在后臺服務器中預加載的內容可以完整的顯示,在處理網頁頁面的過程中獲取預先存儲的用于加載網頁頁面的模擬點擊程序。
[0029]模擬點擊程序,顧名思義,能夠模擬用戶的點擊操作的程序,在對網頁頁面進行處理的過程中,如果遇到需要點擊觸發(fā)的網頁內容,則通過模擬點擊程序模擬用戶的點擊操作,從而觸發(fā)點擊操作后的網頁頁面的內容,使得需要點擊操作觸發(fā)的內容也能經過后臺服務器的處理,并在移動通訊終端完整的顯示。
[0030]獲取的模擬點擊程序可以是一段自定義的JS文件,獨立于網頁的原有邏輯,在網頁頁面加載JS的時候,加載模擬點擊程序,該模擬點擊程序的加載會加載在網頁頁面的頭部,在網頁頁面中的除模擬點擊程序以外的網頁頁面邏輯執(zhí)行完成之后,形成完整的DOM樹之后,使得網頁頁面的邏輯能夠正常運行,然后在DOM樹上,執(zhí)行該模擬點擊程序。
[0031]具體地,該模擬點擊程序可以如下例所示:
[0032]var event=document.createEvent (〃 MouseEvents " );//點擊事件
[0033]event.1nitEvent (e,