專利名稱:移動終端瀏覽器界面的修改方法及裝置、移動終端的制作方法
技術領域:
本發(fā)明涉及移動通信領域,更為具體地,涉及一種基于JavaScript的移動終端瀏覽器界面的修改方法及裝置,以及具有上述移動終端瀏覽器界面的修改裝置的移動終端。
背景技術:
在移動終端瀏覽器中,移動終端瀏覽器界面(UI)通常包括右鍵菜單、皮膚和菜單面板等,如圖IA和圖IB所示。圖IA示出了右鍵菜單的一個示例,以及圖IB示出了菜單面板的一個示例。通常,移動終端瀏覽器界面由瀏覽器默認提供生成。這種瀏覽器界面的格式比較固定,網(wǎng)頁開發(fā)者無法更改這些界面中的內容。以右鍵菜單為例,目前右鍵菜單都是由瀏覽器默認生成。當用戶長按網(wǎng)頁上的某個元素時,瀏覽器會根據(jù)當前選中的節(jié)點的類型,彈出不同的菜單項。這些菜單項固定不變,不會根據(jù)不同的網(wǎng)站而更換。在這種情況下,開發(fā)者無法根據(jù)網(wǎng)頁定制這些菜單項的內容。因此,現(xiàn)有的這種界面生成方式存在一定的功能局限性。如果某個網(wǎng)頁開發(fā)者希望在網(wǎng)頁的右鍵彈出菜單中增加一個菜單項選項,比如“切換至夜間模式”或者“發(fā)送當前頁面URL”,則由于長按后彈出的菜單項是通用菜單項,這樣的修改在現(xiàn)有移動終端瀏覽器中無法實現(xiàn)。為了實現(xiàn)上述修改,目前通常利用在網(wǎng)頁上增加點擊按鈕的方式來實現(xiàn),但是按照這種修改所增加的按鈕會影響網(wǎng)頁的外觀和用戶體驗。由于右鍵菜單項在長按時才會彈出,因此如果將點擊按鈕設置為右鍵菜單項,則并不會影響網(wǎng)頁上的顯示效果。因此,為了解決不能修改右鍵菜單的問題,網(wǎng)頁開發(fā)者可以屏蔽系統(tǒng)自帶的右鍵菜單,利用JavaScript (下文中簡稱為JS)創(chuàng)建HTML (超文本標記語言)的DIV (層)元素,生成一個外觀與移動終端固有的右鍵菜單相似的模擬右鍵菜單,在該模擬右鍵菜單中,包含網(wǎng)頁開發(fā)者希望增加的菜單項。然后,利用該模擬右鍵菜單替換移動終端固有的右鍵菜單,從而實現(xiàn)上述修改。然而,這種修改的實現(xiàn)方式存在下述問題。首先,網(wǎng)頁開發(fā)者需要重新繪制一個完整的右鍵菜單,不僅需要設計右鍵菜單的展示效果,還要計算出右鍵菜單應該出現(xiàn)的區(qū)域,從而帶來較大的工作量。其次,網(wǎng)頁開發(fā)者如果希望使用所生成的模擬右鍵菜單,那么就必須屏蔽移動終端固有的右鍵菜單,從而導致移動終端固有的右鍵菜單無法使用。通常而言,移動終端固有的右鍵菜單中的這些菜單項對用戶而言特別重要,并且由于JS語言沒有提供實現(xiàn)固有的右鍵菜單中的一些菜單項(比如復制圖片)的功能的接口,導致這些菜單項無法利用JS實現(xiàn),從而使得所生成的模擬右鍵菜單不會包含這些菜單項,由此用戶無法使用這些菜單項的功能,例如,無法復制圖片。最后,如果每個想要擁有個性右鍵菜單項的開發(fā)者都自己創(chuàng)建一個模擬右鍵菜單,也無法為用戶提供統(tǒng)一的體驗。隨著WbApp (網(wǎng)絡應用)的發(fā)展,WbApp往右鍵菜單插入菜單項的需求可能變得非常普遍。例如,某個WbApp想給當前瀏覽器打開的所有網(wǎng)頁的右鍵菜單增加一項菜單項,以通過這個菜單項調用WbApp提供的功能,比如進入/退出論壇模式。由于現(xiàn)有的移動終端瀏覽器無法讓網(wǎng)頁開發(fā)者往右鍵菜單中增加菜單項,并且如果網(wǎng)頁開發(fā)者重新生成自定義的模擬菜單,那么由于模擬菜單本質上只是一個DIV元素,WbApp無法定位到該模擬菜單。因此,在現(xiàn)有情況下,無法實現(xiàn)WebApp往網(wǎng)頁的右鍵菜單增加菜單項的需求。同樣,對于移動終端瀏覽器的皮膚和菜單面板,網(wǎng)頁開發(fā)者也無法控制。網(wǎng)頁開發(fā)者只能通過改變網(wǎng)頁的樣式及風格,使得當前的網(wǎng)頁呈現(xiàn)出不同的皮膚,而移動終端瀏覽器的Π并不能因此而改變。如果網(wǎng)頁的內容是跟圣誕節(jié)相關的,用戶一旦打開這個網(wǎng)頁就使得瀏覽器更換一套圣誕或者冬天的皮膚,這樣會給用戶帶來更好的瀏覽體驗。然而,在現(xiàn)有情況下,這是無法實現(xiàn)的。
發(fā)明內容
鑒于上述問題,本發(fā)明的一個目的是提供一種基于JavaScript的移動終端瀏覽器界面修改方法,該方法能夠使得網(wǎng)頁開發(fā)者通過預先設置的JS接口對象修改瀏覽器界面。本發(fā)明的另一目的是提供一種基于JavaScript的移動終端瀏覽器界面修改裝置以及具有上述界面修改裝置的移動終端。根據(jù)本發(fā)明的一個方面,提供了一種基于JavaScript的移動終端瀏覽器界面修改方法,包括在對所加載的網(wǎng)頁中的JS文件進行解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,瀏覽器內核從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息;瀏覽器內核調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改模塊;以及所述瀏覽器外殼或瀏覽器內核中綁定的瀏覽器界面修改模塊利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改,其中,所述JS接口對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定。在上述方面的一個或多個示例中,所述預先設置的JS接口對象包括多個接口子對象,每個JS接口子對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定,并且,所述方法還包括在解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息后,瀏覽器內核還從該解析文件中獲取JS接口子對象索引信息,以及瀏覽器內核調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改模塊包括瀏覽器內核根據(jù)所獲取的JS接口子對象索引信息,從JS接口對象的多個JS接口子對象中選擇對應的JS接口子對象;以及調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。在上述方面的一個或多個示例中,所述接口子對象包括與皮膚更換相關的接口子對象,與右鍵菜單相關的接口子對象和/或與菜單面板相關的接口子對象。在上述方面的一個或多個示例中,在所述接口子對象是與皮膚更換相關的接口子
6對象時,從解析文件中獲取的參數(shù)信息包括皮膚樣式索引信息,該皮膚樣式索引信息用于指示移動終端中存儲的皮膚樣式的索引,并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。在上述方面的一個或多個示例中,所述與右鍵菜單相關的接口子對象包括與刪除右鍵菜單的菜單選項相關的接口子對象和/或與增加右鍵菜單選項相關的接口子對象,在所述接口子對象是與刪除右鍵菜單的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單的索引號,和/或在所述接口子對象是與增加右鍵菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被增加的菜單的索引號、要被增加的菜單的提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。在上述方面的一個或多個示例中,所述與菜單面板相關的接口子對象包括與刪除菜單面板相關的接口子對象和/或與增加菜單面板選項相關的接口子對象,在所述接口子對象是與刪除菜單面板的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單面板的索引號,在所述接口子對象是與增加菜單面板選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括菜單面板類型,菜單面板號,菜單面板索引號,菜單面板圖標URL、菜單面板圖標提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。在上述方面的一個或多個示例中,在瀏覽器內核從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息之前,所述方法包括對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析;以及判斷解析后得到的解析文件中是否包含指示需要對移動終端瀏覽器界面進行修改的指示信息。根據(jù)本發(fā)明的另一方面,提供了一種基于JavaScript的移動終端瀏覽器界面修改裝置,包括信息獲取單元,用于在對所加載的網(wǎng)頁中的JS文件進行解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息;調用單元,用于調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改單元;以及瀏覽器界面修改單元,用于利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改,其中,所述JS接口對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定。 在上述方面的一個或多個示例中,所述預先設置的JS接口對象包括多個接口子對象,每個JS接口子對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定,其中,所述信息獲取單元還被配置為在解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息后,從該解析文件中獲取JS接口子對象索引信息,以及所述調用單元包括選擇模塊,用于根據(jù)所獲取的JS接口子對象索引信息,從JS接口對象的多個JS接口子對象中選擇對應的JS接口子對象;以及接口子對象調用模塊,用于調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。在上述方面的一個或多個示例中,所述移動終端瀏覽器修改裝置還可以包括解析單元,用于對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析;以及判斷單元,用于判斷解析后得到的解析文件中是否包含指示需要對移動終端瀏覽器界面進行修改的指示信息。根據(jù)本發(fā)明的另一方面,提供了一種移動終端,包括如上所述的移動終端瀏覽器修改裝置。利用根據(jù)本發(fā)明的移動終端瀏覽器修改裝置,可以通過為網(wǎng)頁開發(fā)者提供額外的JS接口對象,使得網(wǎng)頁開發(fā)者能夠利用這些接口修改瀏覽器UI,從而提高用戶的瀏覽體驗。此外,利用根據(jù)本發(fā)明的移動終端瀏覽器修改裝置,可以使得Webapp能利對右鍵菜單或者菜單面板進行修改,以達到使用Webapp功能的效果。為了實現(xiàn)上述以及相關目的,本發(fā)明的一個或多個方面包括后面將詳細說明并在權利要求中特別指出的特征。下面的說明以及附圖詳細說明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
根據(jù)下述參照附圖進行的詳細描述,本發(fā)明的上述和其他目的、特征和優(yōu)點將變得更加顯而易見。在附圖中圖IA示出了右鍵菜單的一個示例;圖IB示出了菜單面板的一個示例;圖2示出根據(jù)本發(fā)明的JS接口對象的設置過程的流程圖;圖3示出了根據(jù)本發(fā)明的第一實施例的基于JavaScript的移動終端瀏覽器界面修改方法的流程圖;圖4示出了在所增加的菜單項或菜單面板被點擊時進行的處理流程圖;圖5示出了根據(jù)本發(fā)明的第一實施例的基于JavaScript的移動終端瀏覽器界面修改裝置的方框示意圖;圖6示出了根據(jù)本發(fā)明的第二實施例的基于JavaScript的移動終端瀏覽器界面修改方法的流程圖;圖7示出了根據(jù)本發(fā)明的第二實施例的基于JavaScript的移動終端瀏覽器界面修改裝置的方框示意圖;圖8示出了根據(jù)本發(fā)明的移動終端瀏覽器界面修改處理后的效果圖;和圖9示出了具有根據(jù)本發(fā)明的移動終端瀏覽器界面修改裝置的移動終端的方框示意圖。在所有附圖中相同的標號指示相似或相應的特征或功能。
具體實施方式
下面描述本公開的各個方面。應該明白的是,本文的教導可以以多種多樣形式具體體現(xiàn),并且在本文中公開的任何具體結構、功能或兩者僅僅是代表性的?;诒疚牡慕虒В绢I域技術人員應該明白的是,本文所公開的一個方面可以獨立于任何其它方面實現(xiàn),并且這些方面中的兩個或多個方面可以按照各種方式組合。例如,可以使用本文所闡述的任何數(shù)目的方面,實現(xiàn)裝置或實踐方法。另外,可以使用其它結構、功能、或除了本文所闡述的一個或多個方面之外或不是本文所闡述的一個或多個方面的結構和功能,實現(xiàn)這種裝置或實踐這種方法。此外,本文所描述的任何方面可以包括權利要求的至少一個元素。在對本發(fā)明的實施例進行描述之前,首先對本發(fā)明中涉及的幾個概念進行簡要說明。術語“瀏覽器內核”是指瀏覽器中負責對網(wǎng)頁進行加載、顯示以及執(zhí)行JS函數(shù)的功能部分。瀏覽器內核是瀏覽器的核心部分,它包含JS引擎以及排版渲染引擎。術語“JS前端”是指網(wǎng)頁中的JS代碼,S卩,網(wǎng)頁中包含的JS文件。術語“JS引擎”是指瀏覽器內核中的與JS函數(shù)執(zhí)行相關的模塊。術語“瀏覽器外殼”是指瀏覽器中與用戶界面展示相關的功能部分。術語“觸發(fā)函數(shù)”是指用于觸發(fā)菜單選項中指示的菜單操作的處理函數(shù)。在本發(fā)明的技術方案中,首先,在本地瀏覽器客戶端中預先設置一個JS接口對象,例如ucweb.ui。然后,網(wǎng)頁開發(fā)者在進行網(wǎng)頁編寫時,在網(wǎng)頁代碼中增加一個與瀏覽器界面相關的JS文件。這樣,在加載網(wǎng)頁時,通過解析該與瀏覽器界面相關的JS文件,僅僅通過調用預先實現(xiàn)的與該JS文件對應的JS接口對象,就能達到修改Π的目的。也就是說,網(wǎng)頁開發(fā)者可以通過使用預先實現(xiàn)的JS接口對象,修改移動終端瀏覽器自帶的右鍵菜單、修改皮膚以及修改菜單面板等,比如更換皮膚、增加或刪除右鍵菜單、菜單面板中的選項。圖2示出根據(jù)本發(fā)明的JS接口對象的設置過程的流程圖。如圖2所示,在步驟S210,在瀏覽器內核的JS引擎中創(chuàng)建一個JS接口對象,比如創(chuàng)建內置在瀏覽器內核中的JS接口對象“ucweb. Ui ”。如果用戶希望利用該JS接口對象進行一個或多個瀏覽器界面修改操作,則在步驟S220,為該JS接口對象添加多個JS接口子對象。并且,在步驟S230,為每個JS接口子對象添加JS操作函數(shù)(即,瀏覽器界面操作相關函數(shù))和函數(shù)參數(shù)。例如,假設一個JS接口子對象對應的操作是在右鍵菜單中增加一個菜單項,貝1J為該JS接口子對象添加JS操作函數(shù)“createContextMenuItem”,該JS操作函數(shù)的參數(shù)包括要被增加的菜單的索引號、菜單項的提示文字以及點擊時回調的函數(shù)名稱。假設另一個JS接口子對象對應的操作是刪除右鍵菜單中的菜單項,則為該JS接口子對象添加JS操作函數(shù)“clearContextMenu”,該JS操作函數(shù)的參數(shù)包括要被刪除的菜單的索引號。這兩個函數(shù)都能利用JS代碼,通過層層調用,最終達到改變?yōu)g覽器外殼右鍵菜單的效果。此外,在本發(fā)明的另一示例中,如果用戶希望利用該JS接口對象進行單個瀏覽器界面修改操作,則也可以跳過步驟S220,并且在步驟S230中,為JS接口對象添加JS操作函數(shù)和函數(shù)參數(shù)。接著,在步驟S240,在瀏覽器內核中實現(xiàn)所添加的JS操作函數(shù),所述JS操作函數(shù)的實現(xiàn)是指在瀏覽器內核中增加對JS操作函數(shù)的識別,以及當這些JS操作函數(shù)被調用時進行響應。然后,在步驟S250,通過瀏覽器內核中的綁定模塊,將所實現(xiàn)的JS操作函數(shù)綁定到瀏覽器內核或瀏覽器外殼中的與界面相關的處理模塊,該處理模塊能夠支持通過JS函數(shù)進行的瀏覽器界面修改。由此,完成本地瀏覽器客戶端中的JS接口對象的實現(xiàn)過程。
9
下面將參照附圖對本發(fā)明的實施例進行描述。第一實施例圖3示出了根據(jù)本發(fā)明的第一實施例的基于JavaScript的移動終端瀏覽器界面修改方法的流程圖。在根據(jù)本發(fā)明的基于JavaScript的移動終端瀏覽器界面修改方法進行瀏覽器界面修改,需要如上參照圖2所述,在移動終端瀏覽器客戶端中預先設置JS接口對象。在預先設置JS接口對象后,在用戶通過瀏覽器打開希望瀏覽的網(wǎng)頁時,如圖3所示,在步驟S310,對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析。也就是說,對網(wǎng)頁中包含的各個JS文件的JS代碼逐個進行解析。對于一個JS文件,在對JS代碼的解析完成后,在步驟S320,判斷解析后得到的解析文件中是否存在指示需要對移動終端瀏覽器界面進行修改的指示信息。所述指示信息例如是指示解析文件里是否使用與瀏覽器界面操作相關的函數(shù)(例如createContextMenuItem)的信息。在判斷出解析文件中不存在需要對移動終端瀏覽器界面進行修改的指示信息后,在步驟S330,保持瀏覽器界面不變,并且根據(jù)該解析文件進行渲染顯示。如果判斷出解析文件中存在需要對移動終端瀏覽器界面進行修改的指示信息,則認為該JS文件是用戶增加的用于進行瀏覽器界面修改的JS文件,接著,在步驟S340,從解析文件中獲取與瀏覽器界面相關的參數(shù)信息。例如,在所述JS接口對象是與皮膚更換相關的接口對象時,從解析文件中獲取的參數(shù)信息包括皮膚樣式索引信息,該皮膚樣式索引信息用于指示移動終端中存儲的皮膚樣式的索引值。在所述JS接口對象是與右鍵菜單相關的接口對象時,從解析文件中獲取與右鍵菜單相關的參數(shù)信息。比如,在所述接口對象是與刪除右鍵菜單的菜單選項相關的接口對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單的索引號。在所述接口對象是與增加右鍵菜單選項相關的接口對象時,從解析文件中獲取的參數(shù)信息包括要被增加的菜單的索引號、要被增加的菜單的提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),該觸發(fā)函數(shù)能夠觸發(fā)菜單選項中指示的菜單操作。在所述JS接口對象是與菜單面板相關的接口對象時,從解析文件中獲取與菜單面板相關的參數(shù)信息。比如,在所述接口對象是與刪除菜單面板的菜單選項相關的接口對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單面板的索引號。在所述接口對象是與增加菜單面板選項相關的接口對象時,從解析文件中獲取的參數(shù)信息包括菜單面板類型,菜單面板號,菜單面板索引號,菜單面板圖標URL、菜單面板圖標提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),該觸發(fā)函數(shù)能夠觸發(fā)菜單選項中指示的菜單操作。在如上獲取參數(shù)信息后,在步驟S350,調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器內核中的與該JS接口對象綁定的瀏覽器界面修改模塊或瀏覽器外殼中的與該JS接口對象綁定的瀏覽器界面修改模塊。例如,在JS接口對象是與皮膚更換相關的JS接口對象時,將參數(shù)信息(S卩,皮膚樣式索引值)傳送到瀏覽器內核或瀏覽器外殼中的用于繪制皮膚的處理模塊(即,瀏覽器界面修改模塊)。在JS接口對象是與右鍵菜單或菜單面板相關的JS接口對象時,將參數(shù)信息傳送到瀏覽器內核或瀏覽器外殼中的對應處理模塊(即,瀏覽器界面修改模塊)。然后,在步驟S360,瀏覽器內核或瀏覽器外殼中的對應瀏覽器界面修改模塊利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改,比如根據(jù)所獲取的皮膚樣式索引信息更換皮膚,根據(jù)要被刪除的菜單的索引號刪除右鍵菜單中的菜單選項,或者根據(jù)要被刪除的菜單面板的索引號刪除菜單面板中的菜單選項。如上參照圖3描述了根據(jù)本發(fā)明的移動終端瀏覽器修改過程。在完成上述修改后,如果用戶希望使用所增加的菜單欄或菜單面板中的菜單項,則可以通過點擊該增加的菜單項,利用JS文件中的JS函數(shù)調用相關的觸發(fā)函數(shù)來進行對應的菜單操作。圖4示出了在進行上述修改后的右鍵菜單或菜單面板被點擊時進行的處理流程圖。如圖4所示,當右鍵菜單或菜單面板中的菜單選項被點擊后,即,瀏覽器外殼檢測到菜單選項被點擊后,在步驟S410,判斷被點擊的菜單選項(點擊項)是否是由JS生成的。如果該菜單選項不是由JS生成的,則在步驟S430,按照移動終端瀏覽器中的固有方式進行操作(即,正常操作)。如果該菜單選項是由JS生成,則在步驟S420,獲取點擊項的類型、索引值和回調函數(shù)名,所述點擊項的類型比如是右鍵菜單或菜單面板。然后,在步驟S440,基于所獲取的回調函數(shù)名,調用對應的回調函數(shù),并且在步驟S450根據(jù)所獲取的點擊項的類型、索引值查找對應的觸發(fā)函數(shù)。具體地,由于瀏覽器內部記錄有由類型和索引值到觸發(fā)函數(shù)的映射,因此在進行查找時,將所獲取的點擊項類型和索引值與該映射中的每一項進行對比,匹配出對應項,然后通過對應項獲取正確的觸發(fā)函數(shù)。在查找到對應的觸發(fā)函數(shù)后,在步驟S460,觸發(fā)所查找到的觸發(fā)函數(shù)來進行對應的菜單操作。圖5示出了根據(jù)本發(fā)明的第一實施例的基于JavaScript的移動終端瀏覽器界面修改裝置500的方框示意圖。如圖5所示,移動終端瀏覽器界面修改裝置500包括信息獲取單元530、調用540和瀏覽器界面修改單元550。信息獲取單元530用于在對所加載的網(wǎng)頁中的JS文件進行解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息。調用單元540用于調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改單元,其中,所述JS接口對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定。瀏覽器界面修改單元550用于利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改,從而完成移動終端瀏覽器的界面修改。移動終端瀏覽器界面修改裝置500還可以包括解析單元510和判斷單元520。解析單元510用于對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析。判斷單元520用于判斷解析后得到的解析文件中是否包含指示需要對移動終端瀏覽器界面進行修改的指不 目息。雖然圖5中的移動終端瀏覽器界面修改裝置500被示出為包括解析單元510和判斷單元520,但是在本發(fā)明的另一示例中,移動終端瀏覽器界面修改裝置500也可以不包括解析單元510和判斷單元520。根據(jù)本實施例的移動終端瀏覽器界面修改方法,可以通過為網(wǎng)頁開發(fā)者提供額外的JS接口對象,使得網(wǎng)頁開發(fā)者能夠利用這些接口修改瀏覽器UI,從而提高用戶的瀏覽體驗。此外,利用根據(jù)本發(fā)明的移動終端瀏覽器修改方法,可以使得Webapp能利對右鍵菜單或者菜單面板進行修改,以達到使用Webapp功能的效果。第二實施例圖6示出了根據(jù)本發(fā)明的第二實施例的基于JavaScript的移動終端瀏覽器界面修改方法的流程圖。圖6中所示的第二實施例是圖3中示出的第一實施例的修改實施例。圖6中所針對的是利用單個JS接口對象實現(xiàn)多個移動終端瀏覽器界面修改操作,而圖3中所針對的是利用單個JS接口對象實現(xiàn)單個移動終端瀏覽器界面修改操作。在這種情況下,圖6中的JS接口對象包含多個JS接口子對象,所述接口子對象例如包括與皮膚更換相關的接口子對象,與右鍵菜單相關的接口子對象和/或與菜單面板相關的接口子對象。通過比較圖3和圖6可知,圖6中的步驟S610、S620、S630和S670分別與圖3中的步驟S310、S320、S330和S360相同。為了避免重復,在此對其不再進行描述。如圖6所示,在步驟S620中判斷為存在指示進行移動終端瀏覽器界面修改的指示信息后,在步驟S640中,從解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息以及JS接口子對象索引信息,包括I)在所述接口子對象是與皮膚更換相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括皮膚樣式索引信息,該皮膚樣式索引信息用于指示移動終端中存儲的皮膚樣式的索引值。2)在所述JS接口對象是與右鍵菜單相關的接口子對象時,從解析文件中獲取與右鍵菜單相關的參數(shù)信息。其中在所述接口子對象是與刪除右鍵菜單的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單的索引號。在所述接口子對象是與增加右鍵菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被增加的菜單的索引號、要被增加的菜單的提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),該觸發(fā)函數(shù)能夠觸發(fā)菜單選項中指示的菜單操作。3)在所述接口子對象是與刪除菜單面板的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單面板的索引號。在所述接口子對象是與增加菜單面板選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括菜單面板類型,菜單面板號,菜單面板索引號,菜單面板圖標URL、菜單面板圖標提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),該觸發(fā)函數(shù)能夠觸發(fā)菜單選項中指示的菜單操作。
在如上獲取參數(shù)信息和JS接口子對象索引信息(例如,索引值)后,在步驟S650,基于該JS接口子對象索引信息,從多個JS接口子對象中選擇與該JS接口子對象索引信息對應的JS接口子對象。然后,在步驟S660,調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。隨后,在步驟S670中,該瀏覽器界面修改模塊利用該參數(shù)信息進行移動終端瀏覽器界面修改。圖7示出了根據(jù)本發(fā)明的第二實施例的基于JavaScript的移動終端瀏覽器界面修改裝置700的方框示意圖。圖7與圖5的不同之處在于信息獲取單元730和調用單元740。解析單元710、判斷單元720和瀏覽器界面修改單元750分別與解析單元510、判斷單元520和瀏覽器界面修改單元550相同。在此僅僅對信息獲取單元730和調用單元740進行描述。在解析后的JS文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息后,除了從解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息之外,信息獲取單元730還被配置為從該解析后的JS文件中獲取JS接口子對象索引信息。所述調用單元740包括選擇模塊741和接口子對象調用模塊743。選擇模塊741用于根據(jù)所獲取的JS接口子對象索弓I信息,從JS接口對象的多個JS接口子對象中選擇對應的JS接口子對象。接口子對象調用模塊743用于調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。如上參照圖6和圖7描述了根據(jù)本發(fā)明的第二實施例的移動終端瀏覽器界面修改方法和裝置。利用上述移動終端瀏覽器界面修改方法和裝置,同樣可以實現(xiàn)根據(jù)第一實施例的移動終端瀏覽器界面修改方法和裝置所實現(xiàn)的技術效果。圖8示出了利用根據(jù)本發(fā)明的移動終端瀏覽器界面修改后的效果圖。在圖8中,利用方框限定出的兩個按鈕由JS生成,在點擊后進行翻頁操作。從圖8中可以看出,修改后的瀏覽器界面與當前網(wǎng)頁非常好地融合在一起,從而提高了用戶的瀏覽體驗。圖9示出了根據(jù)本發(fā)明的移動終端10的方框示意圖。如圖9所示,移動終端10包括圖5中所示的移動終端瀏覽器界面修改裝置500或者移動終端瀏覽器界面修改裝置700。此外,移動終端10中所示的移動終端瀏覽器界面修改裝置也可以包括圖5中所示的移動終端瀏覽器界面修改裝置500或者移動終端瀏覽器界面修改裝置700的各種變型。此外,典型地,本發(fā)明所述的移動終端可為各種手持終端設備,例如手機、個人數(shù)字助理(PDA)等,因此本發(fā)明的保護范圍不應限定為某種特定類型的移動終端。此外,根據(jù)本發(fā)明的方法還可以被實現(xiàn)為由CPU執(zhí)行的計算機程序。在該計算機程序被CPU執(zhí)行時,執(zhí)行本發(fā)明的方法中限定的上述功能。此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲使得控制器實現(xiàn)上述步驟或單元功能的計算機程序的計算機可讀存儲設備實現(xiàn)。此外,應該明白的是,本文所述的計算機可讀存儲設備(例如,存儲器)可以是易失性存儲器或非易失性存儲器,或者可以包括易失性存儲器和非易失性存儲器兩者。作為例子而非限制性的,非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM (PR0M)、電可編程ROM (EPROM)、電可擦寫可編程ROM (EEPROM)或快閃存儲器。易失性存儲器可以包括隨機存取存儲器(RAM),該RAM可以充當外部高速緩存存儲器。作為例子而非限制性的,RAM可以以多種形式獲得,比如同步RAM (DRAM)、動態(tài)RAM (DRAM)、同步DRAM (SDRAM)、雙數(shù)據(jù)速率 SDRAM (DDR SDRAM)、增強 SDRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)以及直接 RambusRAM (DRRAM)0所公開的方面的存儲設備意在包括但不限于這些和其它合適類型的存儲器。本領域技術人員還將明白的是,結合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實現(xiàn)為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經就各種示意性組 件、方塊、模塊、電路和步驟的功能對其進行了一般性的描述。這種功能是被實現(xiàn)為軟件還是被實現(xiàn)為硬件取決于具體應用以及施加給整個系統(tǒng)的設計約束。本領域技術人員可以針對每種具體應用以各種方式來實現(xiàn)所述的功能,但是這種實現(xiàn)決定不應被解釋為導致脫離本發(fā)明的范圍。盡管前面公開的內容示出了本發(fā)明的示例性實施例,但是應當注意,在不背離權利要求限定的本發(fā)明的范圍的前提下,可以進行多種改變和修改。根據(jù)這里描述的發(fā)明實施例的方法權利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本發(fā)明的元素可以以個體形式描述或要求,但是也可以設想多個,除非明確限制為單數(shù)。雖然如上參照圖描述了根據(jù)本發(fā)明的各個實施例進行了描述,但是本領域技術人員應當理解,對上述本發(fā)明所提出的各個實施例,還可以在不脫離本發(fā)明內容的基礎上做出各種改進。因此,本發(fā)明的保護范圍應當由所附的權利要求書的內容確定。
權利要求
1.一種基于JavaScript的移動終端瀏覽器界面修改方法,包括 在對所加載的網(wǎng)頁中的JS文件進行解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,瀏覽器內核從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息; 瀏覽器內核調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改模塊;以及 所述瀏覽器外殼或瀏覽器內核中綁定的瀏覽器界面修改模塊利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改, 其中,所述JS接口對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定。
2.如權利要求I所述的移動終端瀏覽器界面修改方法,其中,所述預先設置的JS接口對象包括多個接口子對象,每個JS接口子對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定,并且,所述方法還包括 在解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息后,瀏覽器內核還從該解析文件中獲取JS接口子對象索引信息,以及 瀏覽器內核調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改模塊包括 瀏覽器內核根據(jù)所獲取的JS接口子對象索弓I信息,從JS接口對象的多個JS接口子對象中選擇對應的JS接口子對象;以及 調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。
3.如權利要求2所述的移動終端瀏覽器界面修改方法,其中,所述接口子對象包括與皮膚更換相關的接口子對象,與右鍵菜單相關的接口子對象和/或與菜單面板相關的接口子對象。
4.如權利要求3所述的移動終端瀏覽器修改方法,其中,在所述接口子對象是與皮膚更換相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括皮膚樣式索引信息,該皮膚樣式索引信息用于指示移動終端中存儲的皮膚樣式的索引,并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。
5.如權利要求3所述的移動終端瀏覽器修改方法,其中,所述與右鍵菜單相關的接口子對象包括與刪除右鍵菜單的菜單選項相關的接口子對象和/或與增加右鍵菜單選項相關的接口子對象, 在所述接口子對象是與刪除右鍵菜單的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單的索引號,和/或 在所述接口子對象是與增加右鍵菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被增加的菜單的索引號、要被增加的菜單的提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。
6.如權利要求3所述的移動終端瀏覽器修改方法,其中,所述與菜單面板相關的接口子對象包括與刪除菜單面板相關的接口子對象和/或與增加菜單面板選項相關的接口子對象, 在所述接口子對象是與刪除菜單面板的菜單選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括要被刪除的菜單面板的索引號,和/或 在所述接口子對象是與增加菜單面板選項相關的接口子對象時,從解析文件中獲取的參數(shù)信息包括菜單面板類型,菜單面板號,菜單面板索引號,菜單面板圖標URL、菜單面板圖標提示文字以及點擊時的回調函數(shù)名稱,所述回調函數(shù)在JS文件中實現(xiàn),用于調用菜單操作的觸發(fā)函數(shù),并且所獲取的參數(shù)信息被傳送到瀏覽器內核或瀏覽器外殼中與該JS接口子對象綁定的瀏覽器界面修改模塊。
7.如權利要求I所述的移動終端瀏覽器界面修改方法,其中,在瀏覽器內核從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息之前,所述方法包括 對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析;以及 判斷解析后得到的解析文件中是否包含指示需要對移動終端瀏覽器界面進行修改的指示信息。
8.一種基于JavaScript的移動終端瀏覽器界面修改裝置,包括 信息獲取單元,用于在對所加載的網(wǎng)頁中的JS文件進行解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,從該解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息; 調用單元,用于調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口對象綁定的瀏覽器界面修改單元;以及 瀏覽器界面修改單元,用于利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改, 其中,所述JS接口對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定。
9.如權利要求8所述的移動終端瀏覽器界面修改裝置,其中,所述預先設置的JS接口對象包括多個接口子對象,每個JS接口子對象具有瀏覽器界面操作相關函數(shù),并且該瀏覽器界面操作相關函數(shù)通過瀏覽器內核中的綁定模塊與瀏覽器外殼或瀏覽器內核中的對應瀏覽器界面修改模塊綁定, 其中,所述信息獲取單元還被配置為在解析后的JS文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息后,從該解析后的JS文件中獲取JS接口子對象索引信息,以及 所述調用單元包括 選擇模塊,用于根據(jù)所獲取的JS接口子對象索引信息,從JS接口對象的多個JS接口子對象中選擇對應的JS接口子對象;以及 接口子對象調用模塊,用于調用所選擇的JS接口子對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與該JS接口子對象綁定的瀏覽器界面修改模塊。
10.如權利要求8所述的移動終端瀏覽器修改裝置,還包括解析單元,用于對加載到移動終端瀏覽器上的網(wǎng)頁的JS文件進行解析;以及判斷單元,用于判斷解析后得到的解析文件中是否包含指示需要對移動終端瀏覽器界面進行修改的指示信息。
11.一種移動終端,包括如權利要求8到10中任何一個所述的移動終端瀏覽器修改裝置。
全文摘要
本發(fā)明提供了一種基于JavaScript的移動終端瀏覽器界面修改方法,包括在對所加載的網(wǎng)頁中的JS文件解析后得到的解析文件中包含指示需要對移動終端瀏覽器界面進行修改的指示信息時,瀏覽器內核從解析文件中獲取與移動終端瀏覽器界面相關的參數(shù)信息;瀏覽器內核調用預先設置的JS接口對象,將所獲取的參數(shù)信息傳送到瀏覽器外殼或瀏覽器內核中與JS接口對象綁定的瀏覽器界面修改模塊;以及瀏覽器界面修改模塊利用所獲取的參數(shù)信息,對移動終端瀏覽器界面進行修改,其中,JS接口對象具有瀏覽器界面操作相關函數(shù),并且瀏覽器界面操作相關函數(shù)通過綁定模塊與瀏覽器界面修改模塊綁定。利用該方法,使得網(wǎng)頁開發(fā)者能夠通過預先設置的JS接口對象修改瀏覽器界面。
文檔編號G06F9/44GK102929599SQ20121036471
公開日2013年2月13日 申請日期2012年9月26日 優(yōu)先權日2012年9月26日
發(fā)明者梁捷, 俞永福, 何小鵬, 朱順炎, 馬妙魁 申請人:廣州市動景計算機科技有限公司