新四季網

一種無線標記語言腳本的執行方法及裝置的製作方法

2023-05-02 15:52:11

專利名稱:一種無線標記語言腳本的執行方法及裝置的製作方法
技術領域:
本發明涉及計算機及嵌入式領域,特別涉及一種WMLScript腳本的執行方法及裝置。
背景技術:
在2G (second generation,第二代移動通訊技術)時代,由於受到制約無線網絡 的帶寬的限制,因此行動裝置上主要是wap (Wireless ApplicationProtocol,無線應用協 議)瀏覽器。隨著第三代行動網路的普及,制約無線網絡的帶寬問題不復存在,另外隨著移 動終端智能化的發展,CPU主頻越來越高,及終端屏幕尺寸越來越大,移動終端已經有足夠 的能力解析和顯示web (環球網)網頁。在此背景下,移動運營商提出了全功能瀏覽器的要求,即通過一個瀏覽器既能訪 問WWW(World Wide Web,全球資訊網)網頁,也能訪問wap網頁,這就需要瀏覽器內部有不同的 引擎。Android 一詞的本義指「機器人」,同時也是一種基於Linux ( —種作業系統)平臺 的開源移動終端作業系統的名稱。該作業系統由作業系統內核、中間件、用戶界面和應用軟 件組成,採用軟體堆層(Software Stack,又名軟體疊層)的架構,主要分為三部分。底層以 Linux內核工作為基礎,由C ( 一種程式語言)語言開發,只提供基本功能;中間層包括函數 庫(Library)和虛擬機(Virtual Machine),由C++(—種程式語言)語言開發。最上層是 各種應用軟體,包括通話程序,簡訊程序等,由各公司自行開發,以Java(—種程式語言)語 言作為編寫程序的一部分語言。WebKit是一個開源的瀏覽器內核,Android作業系統使用它作為內置瀏覽器的 內核,並且將採用該內核的瀏覽器稱為WebKit瀏覽器。WebKit瀏覽器高效穩定,兼容性 好,並且源碼結構清晰,易於維護。然而WebKit瀏覽器內部只有javascript ( 一種腳本語 言)引擎,因此僅支持www網頁的訪問,WebKit瀏覽器中沒有WMLscript (Wireless Markup Language script,無線標記語言腳本)引擎,不支持wap網頁中的WMLScript腳本。然而, 要在Android系統中使用其它的全功能瀏覽器,開發過程比較費時費力,且必須支付一定 的開發費用。某些瀏覽器的性能也不是很好,運行比較慢,布局不美觀,並且,這些瀏覽器均 不開放原始碼,在瀏覽器出現問題後,也不方便進行調試以解決問題。

發明內容
本發明實施例提供一種WMLscript引擎的實現方法及裝置,用於在WebKit瀏覽 器中實現對WMLScript腳本的支持,從而使WebKit瀏覽器支持WMLScript腳本語言,使 WebKit瀏覽器功能更加完善。一種無線標記語言腳本WMLScript腳本的執行方法,包括以下步驟當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本;受到點擊連結的觸發時,調用WMLScript引擎;
3
通過WMLScript引擎調用WMLScript腳本,並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。一種無線標記語言WMLScript腳本的執行裝置,包括獲取模塊,用於當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳 本;執行模塊,用於當受到點擊連結的觸發時,調用WMLScript引擎;通過WMLScript 引擎調用WMLScript腳本,並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。本發明實施例當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本; 受到點擊連結的觸發時,執行WMLScript引擎;通過WMLScript引擎調用WMLScript腳本, 並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。從而在WebKit瀏覽器中加入 了 WMLscript引擎,以使WebKit瀏覽器支持WMLScript腳本,從而支持wap網頁的訪問。


圖1為本發明實施例中WMLScript腳本的執行裝置的主要結構圖;圖2為本發明實施例中帶有解析模塊的WMLScript腳本的執行裝置的主要結構 圖;圖3為本發明實施例中WMLScript腳本的執行裝置的詳細結構圖;圖4為本發明實施例中WMLScript腳本的執行方法的主要流程圖;圖5A為本發明實施例中WMLScript腳本的執行方法的詳細流程圖;圖5B為本發明實施例中加入判斷過程後WMLScript腳本的執行方法的詳細流程 圖。
具體實施例方式本發明實施例當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本; 受到點擊連結的觸發時,執行WMLScript引擎;通過WMLScript引擎調用WMLScript腳本, 並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。從而在WebKit瀏覽器中加入 了 WMLscript引擎,以使WebKit瀏覽器支持WMLScript腳本,從而支持wap網頁的訪問。參見圖1,本發明實施例中WMLscript引擎的實現裝置包括獲取模塊101及執行模 塊102。其中,所述裝置位於WebKit瀏覽器中。獲取模塊101用於獲取WMLScript腳本。獲取模塊101具體用於在解析模塊確定 網頁中go (執行)語句為連結屬性時,根據獲取WMLScript腳本的函數加載WMLScript腳本 及獲取WMLScript腳本的內容。例如,獲取WMLScript腳本的函數可以是IoadWMLScript。 WebKit瀏覽器中設置一個類,用於根據獲取WMLScript腳本的函數獲取WMLScript腳本、獲 取該WMLScript腳本的內容及執行該WMLScript腳本,例如,該類為WMLGoElement (wml執 行要素),獲取WMLScript腳本的函數就位於WMLGoElement類中,其中,本發明實施例中獲 取WMLScript腳本的函數IoadWMLScript可以如下void IoadWMLScript(String url)其中,IoadWMLScript函數的具體內容如下void WMLGoElement IoadWMLScript (String url) //IoadWMLScript 函數定義在WMLGoElement 類中;
{if ( ! isNeedRunWmlScript((char*)url. Iatinl · data))//判斷是否需要運 行WMLScript腳本,以解析url ;return ;Document^doc = document -J/將當前網頁的數據賦給變量;if( ! doc)return ;DocLoader^docLoader = doc- > docLoader ;// 獲取當前網頁的下載類,以方 便下載WMLScript腳本文件;if( ! docLoader)return ;if (NULL = = m_pCacheWMLScript)//判斷 m_pCacheWMLScript 變量是否為空。這 是出於安全考慮的步驟,以防nupCacheWMLScript變量不為空時影響執行過程。也可以不 執行本步驟,直接執行下一步;m_pCacheWMLScript = docLoader- > requestScript (url, 『『 IS0-8859-1 「); //將WMLScript腳本的內容賦給m_pCacheWMLScript變量,相當於獲得了 WMLScript腳本 的內容;if(m_pCacheWMLScript){m_pCacheWMLScript- > addClient (this) ;// 為下載功能增加一個客戶端,在下 載完成後通知該客戶端。其中,一個WMLScript腳本只需下載一次。return ;}}其中,WMLScript腳本的 url 指的是指向 WMLScript 腳本的 url,IoadWMLScript 函數用於獲取WMLScript腳本的內容。WMLGoElement中還可以有一個變量,用於保存所述WMLScript腳本的內 容,例如,本發明實施例中該變量可以為CachedResourceHandlem_ pCacheWMLScript。參見圖2,所述裝置還包括解析模塊103。解析模塊103用於解析wap網頁。解析模塊103具體用於解析wap網頁中調用 的url,調用的函數名稱、調用的函數參數等。解析模塊103在解析wap網頁時,解析到go 語句的時候,會首先根據WMLGoElement類創建對象,在創建完後會調用相應函數來解析go 語句的屬性,例如,本發明實施例中該函數可以是WMLGoElement :parseMappedAttribute ( 解析映射屬性)函數,該函數位於WMLGoElement類中,即判斷go語句是否為連結屬性,也 就是判斷需執行的任務是否為連結屬性,如果解析模塊103解析出的go語句的屬性為連結 屬性,則調用獲取模塊101中的IoadWMLScript函數,以獲取WMLScript腳本,並可以將該 WMLScript HP*白勺內胃#入 CachedResourceHandlem_pCacheWMLScript ^ 量中。定義全局變量;
定義url連結為字符串格式;執行模塊102用於執行WMLScript腳本的內容。當執行模塊102受到點擊 連結的觸發時,會調用相應執行函數來執行WMLScript引擎例如,該執行函數可以是 WMLGoElement executetask 函數,該函數定義在 WMLGoElement 類中,用於執行 WMLScript引擎。在本發明實施例中,需對相應執行函數進行擴展後該執行函數才能完成執行 WMLScript引擎的任務。例如,對該executetask(執行任務)函數進行如下擴展if (isNeedRunWmlScript( (char*) href. Iatinl · data )&&NULL ! = m_ pCacheWMLScript)//判斷此連結是否為有效的WMLScript腳本連結;{extern Document氺gdoc ;gdoc = doc ;String str = url. string ;String strScriptFun ;int pos = 0 ;pos = str. reverseFindC /'pos++ ;strScriptFun = str. substring (pos, str. length -pos) ;// 獲取 WMLScript 鏈 接中的函數名稱;strScriptFun. r印Iace (〃 % 20 「, 〃 〃);strScriptFun = strScriptFun. stripWhiteSpace;calIWMLScriptFunc (strScriptFun. Iatinl . data , WMLscript 引擎;m_pCacheWMLScript- > script . Iatinl . data , 以參數的方式傳遞給引擎執行;m_pCacheWMLScript- > script . length );gdoc = NULL ;
獲取腳本文件名;
替換多餘空格; 替換多餘空格; //開始執行
獲取腳本的內容,
傳入腳本長度m_pCacheWMLScript-> destroyDecodedData ;//釋放據口本內容,以 免該內容繼續佔用內存,造成內存洩露;return ;}在WebKit瀏覽器中引入了 WMLscript引擎,從而使WebKit瀏覽器支持。其中, calIWMLScriptFunc是實現WMLscript引擎的入口函數,用於調用WMLScript腳本、獲得 WMLScript腳本內容及執行WMLScript腳本內容。所有執行WMLScript腳本的過程都是從 此函數開始。calIWMLScriptFunc函數的具體內容如下int calIWMLScriptFunc (const char氺uri, const char氺pScript, int scrit— Ien)// 定義 calIWMLScriptFunc 函數的三個參數,包括 uri、WMLScript 腳本及 WMLScript
腳本的長度;{
WMLScriptSlot result = {0}
unsigned short numApps = 0 ;int byteCodeLen = 0 ;int freeFlag = 0 ; //初始化,先將參數的值均置零;if( (NULL = = pScript) | | (scrit_len 彡=0)) {// 判斷腳本長度是否為 0 ;return 0 ;}if( ! isValidByteCode(pScript, scrit_len)){if(WMLS_0K ! = compilerffmlScript((char*)pScript, scrit_ len, &gpWmlScriptCode,&byteCodeLen)) // 判斷腳本的內容是否為有效的 WMLScript 的二進位格式,否則有可能是文本方式的腳本,需要先把文本方式的腳本編譯為二進位的 腳本;return 0 ;if ((NULL = = gpffmlScriptCode) | | (byteCodeLen < = 0))return 0 ;freeFlag = 1 ;}else{gpffmlScriptCode = (char*)malIoc(scrit_len+l);memset(gpffmlScriptCode,0, scrit_len+l);memcpy (gpffmlScriptCode, pScript, scrit_len) ;// WMLScript HP HiSi WMLScript腳本的內容傳遞到執行變量中,以執行WMLScript腳本的內容;}//execute scriptWMLScriptExecute (gScriptRef, uri, &result) ;// Jfiu^Mf WMLScriptVX 下均為執行過程;if((freeFlag)&&(NULL ! = gpffmlScriptCode)) {ws_free_byte_code((unsigned char*)gpffmlScriptCode);gpffmlScriptCode = NULL ;freeFlag = 0 ;}else{if(NULL ! = gpffmlScriptCode){free (gpffmlScriptCode);gpffmlScriptCode = NULL ;}
}return 1 ;}int WMLScriptExecute (WMLScriptLibGlobals*gP, const char*uri, WMLScriptSlot*rs){
short findex = 0 ;unsigned char argc = 0 ;char氺str = *ptr = NULL ;WMLScriptModule^m ;WMLScriptSlot氺stack ;WMLScriptFunction氺fp ;str = strchr((char*)uri, 『 #');if (str == NULL) return WMLScriptErrInval idURI ;m = WMLScriptLoadModule (gP, uri, str-uri,&err);if (m == NULL)return-1 ;ptr = strchr(++str,'(');if (ptr == NULL)return WMLScriptErrInvalidURI ;findex = WMLScriptFindFunc (m, str, ptr-str);if (findex < 0)return WMLScriptErrFunctionNotFound ;當在獲取模塊101中加入獲取WMLScript腳本的函數,並對執行模塊102中相 應執行函數作出擴展後,就在WebKit瀏覽器中實現了 WMLscript引擎。當將WMLscript 引擎移植入WebKit瀏覽器後,可由解析模塊103解析wap網頁中調用的url、調用的函數 名稱、調用的函數參數等,解析模塊103若解析到go (語句)為連結屬性,則獲取模塊101 加載WMLScript腳本及WMLScript腳本的內容,執行模塊102調用WMLscript引擎,通過 WMLscript引擎調用WMLScript腳本,獲得並執行WMLScript腳本的內容。具體的,解析模塊 103 解析網頁中調用的 url,例如,該 url 可以為 getCapital.wmls#getCapital (『capital,, $(C0Untry_name)』),是一個用於根據國家名稱獲取該國家首都名稱的函數。解析模 塊103解析調用的函數名稱getcapital (獲知首都),解析調用的函數的參數,參數 1 'capital』(首都),參數 2 ,country_name,(國家名)。獲取模塊 101 加載該 WMLScript 腳本及該WMLScript腳本的內容,執行模塊102調用WMLscript引擎,WMLscript引擎通過 函數名稱getcapital獲取到函數代碼開始處的地址,將此地址設置為程序執行的入口點。 把函數調用的參數(參數1 ,capital』,參數2 ,country_name')傳入給函數使用,較 佳的,可以通過壓棧的方式傳入給函數使用,其中,壓棧的特徵是先入後出,後入先出。然後 開始根據調用的函數取指令,根據不同的0pc0de(操作碼)值,跳轉到相應位置執行流程。 依次解析執行指令,每解析完一個指令即修改IP (指針),使其指向下一個地址,一直到函 數的結束。其中,如果指令中有call (調用)指令,則還需調用庫函數。庫函數主要分為兩 大類標準庫函數和瀏覽器相關的庫函數。標準庫函數主要涉及到浮點數(Float)及字符 串(String)等的相關功能,瀏覽器相關的函數主要涉及到網頁中變量的獲取及賦值、url 的解析等等,例如WTAPublic函數主要涉及到打電話等相關功能。這些庫函數的功能都是 wmlscript預先規範定義好的,但具體的實現過程卻與平臺及使用的瀏覽器相關。參見圖3,所述裝置還包括編譯模塊104。WMLScript腳本的內容的形式一般分為文本文件或編譯好的二進位字節碼文件。對於文本文件形式的WMLScript腳本的內容,目前瀏覽器無法執行,因此必須將其轉換為 二進位字節碼文件方可執行。執行模塊102還用於判斷獲取的WMLScript腳本的內容是否是二進位字節碼文 件。如果判斷結果為否,所獲取的WMLScript腳本的內容不是二進位字節碼文件而是文本 文件,則需編譯模塊104先將其編譯為二進位字節碼文件,再由執行模塊102執行;如果判 斷結果為是,所獲取的WMLScript腳本的內容是二進位字節碼文件,則由執行模塊102直接 執行。編譯模塊104用於將文本文件形式的WMLScript腳本的內容編譯為二進位字節碼 文件。執行模塊102開始執行WMLScript腳本的內容時,獲取模塊101需首先WMLScript 腳本的內容,根據使用不同的apn(Access Point Name,接入點名稱),WMLScript腳本的內 容分為文本文件或編譯好的二進位字節碼文件,編譯模塊104當加載的WMLScript腳本的 內容文件為文本文件時,將其編譯為二進位字節碼文件,再由執行模塊102調用WMLscript 引擎來執行。這樣可以使WebKit瀏覽器功能更加優化,無論使用何種網關,WebKit瀏覽器 都能夠支持WMLScript腳本。下面通過實現流程來介紹WMLscript引擎的實現方法。參見圖4,本發明實施例介紹WMLscript引擎的主要實現方法。方法流程如下步驟401 當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本。其 中,WMLScript腳本的url指的是指向WMLScript腳本的url步驟402 受到點擊連結的觸發時,執行WMLScript引擎。步驟403 通過wmlscript引擎調用WMLScript腳本,並獲得WMLScript腳本的內容。步驟404 執行WMLScript腳本的內容。參見圖5A,本發明實施例介紹WMLscript引擎的詳細實現方法。方法流程如下首先需在WebKit瀏覽器中加入獲取WMLScript腳本的函數。其中,該獲取 WMLScript腳本的函數可以定義在WMLGoElement類中,函數名可以是IoadWMLScript。還 可以同時定義一個用於保存WMLScript腳本的內容的變量,例如該變量為CachedResource Handlem_pCacheWMLScript。還需擴展WebKit瀏覽器中相關執行函數的內容。例如,在本發明實施例中,該 函數可以是WMLGoElement: :executetask,該函數定義在WMLGoElement類中,用於執行 WMLscript引擎,通過獲得WMLscript引擎的入口函數,實現WMLscript引擎。步驟501 解析wap網頁。步驟502 判斷go語句是否為連結屬性。當判斷結果為是時,繼續步驟503,否則 結束流程。步驟503 調用獲取WMLScript腳本的函數,加載WMLScript腳本及該WMLScript 腳本的內容。其中,可以用IoadWMLScript函數獲取WMLScript腳本。步驟504:將加載的WMLScript腳本的內容存入變量中。其中,該變量可以是Cac hedResourceHandlem_pCacheWMLScript。解析模塊103在解析wap網頁時,解析到go (執行)語句的時候,會先根據 WMLGoElement 類創建對象,在創建完畢後調用 WMLGoElement: :parseMappedAttribute 函
9數來解析go語句的屬性,如果解析模塊103解析出的go語句的屬性為連結屬性,則會調用 獲取模塊103中的IoadWMLScript函數,以加載WMLScript腳本及該WMLScript腳本的內 ,以亥內·#入 CachedResourceHandlem_pCacheWMLScript ^M 中。步驟505 受到點擊連結事件的觸發。步驟506 調用 WMLGoElement: :executetask 函數以執行 WMLScript 引擎。步驟507 通過WMLScript引擎調用WMLScript腳本並執行WMLScript腳本的內容。參見圖5B,本發明實施例中加入了判斷過程,以判斷WMLScript腳本是文本文件 還是二進位字節碼文件。詳細方法流程如下步驟511 解析wap網頁。WebKit瀏覽器受到點擊連結事件的觸發。步驟512:判斷go語句是否為連結屬性。當判斷結果為是時,繼續步驟513,否則 結束流程。步驟513 調用獲取WMLScript腳本的函數,加載WMLScript腳本及該WMLScript 腳本的內容。其中,可以用IoadWMLScript函數獲取WMLScript腳本。步驟514:將加載的WMLScript腳本的內容存入變量中。其中,該變量可以是Cac hedResourceHandlem_pCacheWMLScript。步驟515 受到點擊連結事件的觸發。步驟516 判斷獲取的WMLScript腳本的內容是否為二進位字節碼文件。當判斷 結果為否,繼續步驟517,否則繼續步驟518。步驟517 將獲取的文本文件形式的WMLScript腳本的內容編譯為二進位字節碼 文件形式。步驟518 調用 WMLGoElement: :executetask 函數以執行 WMLScript 引擎。步驟519 通過WMLscript引擎調用WMLScript腳本並執行WMLScript腳本的內容。本發明實施例當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本; 受到點擊連結的觸發時,執行WMLScript引擎;通過WMLScript引擎調用WMLScript腳本, 並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。從而在WebKit瀏覽器中加 入了 WMLscript引擎,以使WebKit瀏覽器支持WMLScript腳本,從而支持wap網頁的訪問。 本發明實施例還在 WMLGoElement 類中增加了 CachedResourceHandlem_ pCacheWMLScript變量,用於保存加載的WMLScript腳本的內容。只需在WebKit瀏覽器中 加入相關函數即可實現將WMLscript引擎植入WebKit瀏覽器中,實現過程簡單,便於操作。 並且本發明實施例還加入了編譯模塊104,用於將文本文件形式的WMLScript腳本的內容 編譯為WebKit瀏覽器可執行的二進位字節碼文件,以避免當apn不同時,因WMLScript腳 本的內容為文本文件形式而導致該腳本無法執行,使WebKit瀏覽器的功能更加優化,保證 無論在使用何種網關的情況下WebKit瀏覽器都能夠支持WMLScript腳本。本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式 產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機 可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形 式。本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程 圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算 機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理 器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生 用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能 的裝置。這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特 定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指 令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或 多個方框中指定的功能。這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計 算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或 其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖 一個方框或多個方框中指定的功能的步驟。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精 神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍 之內,則本發明也意圖包含這些改動和變型在內。
權利要求
一種無線標記語言腳本WMLScript腳本的執行方法,其特徵在於,包括以下步驟當無線應用協議wap網頁中包含WMLScript腳本的統一資源定位url時,加載WMLScript腳本;受到點擊連結的觸發時,調用WMLScript引擎;通過WMLScript引擎調用WMLScript腳本,並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。
2.如權利要求1所述的方法,其特徵在於,在當wap網頁中包含WMLScript腳本的url 時,加載WMLScript腳本之前還包括步驟判斷需執行的任務是否為連結屬性;當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本的步驟包括當判斷 結果為是時,獲取當前網頁中的數據及當前網頁中的下載類,以加載WMLScript腳本。
3.如權利要求1所述的方法,其特徵在於,執行wmlscript引擎的步驟包括獲取 WMLScript腳本文件名、WMLScript腳本的url中的函數名稱和WMLScript腳本長度。
4.如權利要求3所述的方法,其特徵在於,調用WMLScript腳本,並獲得WMLScript腳 本的內容的步驟包括根據所述WMLScript腳本文件名、WMLScript腳本的url中的函數名 稱和WMLScript腳本長度,獲取WMLScript腳本的內容。
5.如權利要求1所述的方法,其特徵在於,在執行WMLScript腳本的內容之前還包括步 驟判斷所述獲取的WMLScript腳本的內容是否為二進位字節碼文件,當判斷結果為否時, 將所述獲取的WMLScript腳本的內容編譯為二進位字節碼文件。
6.一種無線標記語言WMLScript腳本的執行裝置,其特徵在於,包括獲取模塊,用於當wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本;執行模塊,用於當受到點擊連結的觸發時,調用WMLScript引擎;通過WMLScript引擎 調用WMLScript腳本,並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。
7.如權利要求6所述的裝置,其特徵在於,還包括解析模塊,用於判斷需執行的任務 是否為連結屬性;當判斷結果為是時,所述獲取模塊獲取當前網頁中的數據及當前網頁中的下載類,以 加載WMLScript腳本。
8.如權利要求6所述的裝置,其特徵在於,所述執行模塊用於獲取WMLScript腳本文件 名、WMLScript腳本的url中的函數名稱和WMLScript腳本長度。
9.如權利要求8所述的裝置,其特徵在於,所述執行模塊用於根據所述WMLScript腳本 文件名、WMLScript腳本的url中的函數名稱和WMLScript腳本長度,獲取WMLScript腳本 的內容。
10.如權利要求6所述的裝置,其特徵在於,所述執行模塊還用於判斷所述獲取的 WMLScript腳本的內容是否為二進位字節碼文件;當判斷結果為否時,還包括編譯模塊,用於將所述獲取的WMLScript腳本的內容編譯 為二進位字節碼文件。
全文摘要
本發明公開了一種WMLScript腳本的執行方法,用於在WebKit瀏覽器中實現對WMLScript腳本的支持,從而使WebKit瀏覽器支持WMLScript腳本語言,使WebKit瀏覽器功能更加完善。所述方法包括當無線應用協議wap網頁中包含WMLScript腳本的url時,加載WMLScript腳本;受到點擊連結的觸發時,調用WMLScript引擎;通過WMLScript引擎調用WMLScript腳本,並獲得WMLScript腳本的內容;執行WMLScript腳本的內容。本發明還公開了用於實現所述方法的裝置。
文檔編號G06F17/30GK101944120SQ20101028894
公開日2011年1月12日 申請日期2010年9月19日 優先權日2010年9月19日
發明者王勇 申請人:青島海信移動通信技術股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀