本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種頁面展現(xiàn)方法和裝置。
背景技術(shù):
在移動(dòng)互聯(lián)網(wǎng)時(shí)代,伴隨著智能終端的普及,移動(dòng)互聯(lián)網(wǎng)已經(jīng)讓每一個(gè)用戶正在享受更為移動(dòng)化、個(gè)性化的互聯(lián)網(wǎng)體驗(yàn)。智能終端上安裝的應(yīng)用可以是原生應(yīng)用,也可以通過HTML(HyperText Markup Language,超文本標(biāo)記語言)頁面實(shí)現(xiàn)。
原生應(yīng)用需要針對(duì)終端的不同系統(tǒng)進(jìn)行開發(fā),開發(fā)效率較低,而通過HTML頁面實(shí)現(xiàn)時(shí),較為復(fù)雜的呈現(xiàn)效果需要獲取頁面外的數(shù)據(jù),通過URL(Uniform Resource Locator,統(tǒng)一資源定位符)傳遞數(shù)據(jù)時(shí)會(huì)造成數(shù)據(jù)泄露,可能引起安全問題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的頁面展現(xiàn)方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請(qǐng)實(shí)施例提供了一種頁面展現(xiàn)方法,該方法包括:獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,其中,超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息;通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在一些實(shí)施例中,超文本標(biāo)記語言文件中插入有對(duì)腳本的位置指示信息,腳本保存在外部文件中;以及方法還包括:響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,其中,服務(wù)器用于根據(jù)目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,確定是否存在適用于目標(biāo)應(yīng)用的待下發(fā)的外部文件,若是,則下發(fā)待下發(fā)的外部文件;接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。
在一些實(shí)施例中,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面之后,還包括:通過運(yùn)行腳本,按照預(yù)設(shè)時(shí)間間隔調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并確定預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變;響應(yīng)于確定出預(yù)設(shè)參數(shù)的參數(shù)值發(fā)生了改變,根據(jù)改變后的參數(shù)值重新確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;根據(jù)重新確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在一些實(shí)施例中,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面之后,還包括:通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù)。
在一些實(shí)施例中,預(yù)設(shè)事件包括針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作;以及通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù),包括:通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作的發(fā)生,調(diào)用用于新建窗口并在窗口中展示目標(biāo)圖片的原始圖片的原生函數(shù)。
第二方面,本申請(qǐng)實(shí)施例提供了一種頁面展現(xiàn)裝置,該裝置包括:獲取單元,配置用于獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,其中,超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息;確定單元,配置用于通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;展現(xiàn)單元,配置用于根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在一些實(shí)施例中,超文本標(biāo)記語言文件中插入有對(duì)腳本的位置指示信息,腳本保存在外部文件中;以及裝置還包括:發(fā)送單元,配置用于響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,其中,服務(wù)器用于根據(jù)目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,確定是否存在適用于目標(biāo)應(yīng)用的待下發(fā)的外部文件,若是,則下發(fā)待下發(fā)的外部文件;接收單元,配置用于接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。
在一些實(shí)施例中,裝置還包括:改變確定單元,配置用于通過運(yùn)行腳本,按照預(yù)設(shè)時(shí)間間隔調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并確定預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變;內(nèi)容確定單元,配置用于響應(yīng)于確定出預(yù)設(shè)參數(shù)的參數(shù)值發(fā)生了改變,根據(jù)改變后的參數(shù)值重新確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;頁面展現(xiàn)單元,配置用于根據(jù)重新確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在一些實(shí)施例中,裝置還包括:調(diào)用單元,配置用于通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù)。
在一些實(shí)施例中,預(yù)設(shè)事件包括針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作;以及調(diào)用單元,進(jìn)一步配置用于通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作的發(fā)生,調(diào)用用于新建窗口并在窗口中展示目標(biāo)圖片的原始圖片的原生函數(shù)。
第三方面,本申請(qǐng)實(shí)施例提供了一種設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)上述一個(gè)或多個(gè)程序被上述一個(gè)或多個(gè)處理器執(zhí)行,使得上述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如第一方面上述的方法。
第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面上述的方法。
本申請(qǐng)實(shí)施例提供的頁面展現(xiàn)方法和裝置,通過獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,而后通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,最后根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面,提高了應(yīng)用的安全性。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的頁面展現(xiàn)方法的一個(gè)實(shí)施例的示意性流程圖;
圖3是根據(jù)本申請(qǐng)的頁面展現(xiàn)方法的應(yīng)用場(chǎng)景的示意圖;
圖4是根據(jù)本申請(qǐng)的頁面展現(xiàn)方法的又一個(gè)實(shí)施例的示意性流程圖;
圖5是根據(jù)本申請(qǐng)的頁面展現(xiàn)裝置的一個(gè)實(shí)施例的示例性結(jié)構(gòu)圖;
圖6是適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐng)的頁面展現(xiàn)方法或頁面展現(xiàn)裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供傳輸鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無線傳輸鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種應(yīng)用,例如,信息資訊類應(yīng)用、社交類應(yīng)用,可以通過獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,而后通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,最后根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。終端設(shè)備101、102、103包括但不限于智能手機(jī)、平板電腦、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
服務(wù)器105可以是對(duì)終端設(shè)備101、102、103上運(yùn)行的應(yīng)用提供支持的服務(wù)器,服務(wù)器105可以接收用戶通過終端設(shè)備101、102、103發(fā)送的訪問請(qǐng)求,而后根據(jù)訪問請(qǐng)求,返回關(guān)聯(lián)的超文本標(biāo)記語言文件或其他數(shù)據(jù)。
需要說明的是,本申請(qǐng)實(shí)施例所提供的頁面展現(xiàn)方法可以由終端設(shè)備101、102、103執(zhí)行,相應(yīng)地,頁面展現(xiàn)裝置可以設(shè)置于終端設(shè)備101、102、103中。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的頁面展現(xiàn)方法的一個(gè)實(shí)施例的流程200。該頁面展現(xiàn)方法,包括以下步驟:
步驟201,獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件。
在本實(shí)施例中,頁面展現(xiàn)方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的終端)可以獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件。目標(biāo)應(yīng)用可以是任何有圖文混排的展示需求,與原生系統(tǒng)有交互的需求的應(yīng)用,例如需要展現(xiàn)圖文內(nèi)容的新聞資訊類應(yīng)用。超文本標(biāo)記語言文件可以是HTML的各個(gè)修訂版本的文件,例如HTML5文件。待展現(xiàn)頁面可以是應(yīng)用開啟后的初始頁面,也可以是應(yīng)用運(yùn)行中根據(jù)獲取到的訪問請(qǐng)求確定的頁面。與待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件可以預(yù)先緩存在本地也可以保存在云端,可以通過URL獲取上述超文本標(biāo)記語言文件。超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息。超文本標(biāo)記語言文件中插入的腳本或?qū)δ_本的位置指示信息的數(shù)量可以是一個(gè)或多個(gè),腳本可以通過各種腳本語言編寫而成,例如JavaScript,JavaScript是一種直譯式腳本語言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動(dòng)態(tài)功能。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,超文本標(biāo)記語言文件中插入有對(duì)腳本的位置指示信息,腳本保存在外部文件中;以及方法還包括:響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,其中,服務(wù)器用于根據(jù)目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,確定是否存在適用于目標(biāo)應(yīng)用的待下發(fā)的外部文件,若是,則下發(fā)待下發(fā)的外部文件;接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。
在本實(shí)現(xiàn)方式中,通過將腳本保存在外部文件中,在需要更改超文本標(biāo)記語言文件中的腳本時(shí),不必對(duì)整個(gè)應(yīng)用進(jìn)行更新,提高了更新效率。在超文本標(biāo)記語言文件中插入腳本的方法有兩種,一種是直接將腳本的代碼寫入特定標(biāo)簽中,另一種是將對(duì)腳本的位置指示信息,如外部文件的名稱,寫入特定標(biāo)簽中,即外部腳本。向服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息的時(shí)機(jī)不限于目標(biāo)應(yīng)用啟動(dòng)時(shí),也可以每間隔預(yù)定時(shí)間向服務(wù)器發(fā)送版本信息。服務(wù)器也可以主動(dòng)向上述電子設(shè)備推送外部文件最新的版本信息,以供上述電子設(shè)備確定是否需要更新外部文件。
步驟202,通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容。
在本實(shí)施例中,上述電子設(shè)備可以通過運(yùn)行步驟201中獲取的超文本標(biāo)記語言文件中的腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容。預(yù)設(shè)參數(shù)可以是目標(biāo)應(yīng)用中登錄的賬戶的基本信息和賬戶的一些歷史記錄中的參數(shù),也可以是上述電子設(shè)備的設(shè)備信息中的參數(shù),同樣可以是時(shí)間、天氣、位置等參數(shù)。原生函數(shù)與上述電子設(shè)備的系統(tǒng)有關(guān),其基于終端本地操作系統(tǒng)并且使用原生程序編寫。例如,在安卓系統(tǒng)中,原生函數(shù)可以由C語言、Java進(jìn)行編寫。腳本中可以設(shè)置有調(diào)用原生函數(shù)的接口。根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,可以是根據(jù)參數(shù)值確定加載超文本標(biāo)記語言文件得到的頁面中的圖像、文字或頁面的樣式。
步驟203,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在本實(shí)施例中,上述電子設(shè)備可以根據(jù)步驟202中確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。上述電子設(shè)備可以通過用于加載超文本標(biāo)記語言文件的組件或控件渲染顯示待展現(xiàn)頁面,作為示例,對(duì)安卓系統(tǒng)而言,可以通過WebView(網(wǎng)絡(luò)視圖)展現(xiàn)待展現(xiàn)頁面。安卓手機(jī)中內(nèi)置有內(nèi)核瀏覽器,WebView為安卓的SDK(Software Development Kit,軟件開發(fā)工具包)中封裝的一個(gè)組件,能加載顯示網(wǎng)頁,可以將其視為一個(gè)瀏覽器。在由蘋果公司開發(fā)的移動(dòng)操作系統(tǒng)iOS中,可以通過UIWebView(用戶界面網(wǎng)絡(luò)視圖)控件展現(xiàn)待展現(xiàn)頁面,UIWebView是iOS中常用的用于加載網(wǎng)頁和超文本標(biāo)記語言文件的視圖空間。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面之后,還包括:通過運(yùn)行腳本,按照預(yù)設(shè)時(shí)間間隔調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并確定預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變;響應(yīng)于確定出預(yù)設(shè)參數(shù)的參數(shù)值發(fā)生了改變,根據(jù)改變后的參數(shù)值重新確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;根據(jù)重新確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在本實(shí)現(xiàn)方式中,通過監(jiān)測(cè)預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變,根據(jù)改變后的參數(shù)值重新確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,實(shí)現(xiàn)了對(duì)待展現(xiàn)頁面的顯示效果的實(shí)時(shí)調(diào)整。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面之后,還包括:通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù)。
在本實(shí)現(xiàn)方式中,通過監(jiān)測(cè)所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,并執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作,進(jìn)一步豐富了應(yīng)用的交互場(chǎng)景。預(yù)設(shè)事件可以是針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作,或其他手勢(shì)操作等。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,預(yù)設(shè)事件包括針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作;以及通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù),包括:通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作的發(fā)生,調(diào)用用于新建窗口并在窗口中展示目標(biāo)圖片的原始圖片的原生函數(shù)。
在本實(shí)現(xiàn)方式中,通過監(jiān)測(cè)針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作,而后調(diào)用用于新建窗口并在窗口中展示目標(biāo)圖片的原始圖片的原生函數(shù),進(jìn)一步豐富了應(yīng)用的交互場(chǎng)景。新建窗口并在窗口中展示目標(biāo)圖片的原始圖片,可以是首先獲取到原始圖片的URL而后依據(jù)其URL在窗口中展示該原始圖片。
繼續(xù)參見圖3,圖3是根據(jù)本實(shí)施例的網(wǎng)頁生成方法的應(yīng)用場(chǎng)景的一個(gè)示意圖。在圖3的應(yīng)用場(chǎng)景中,客戶端可以向服務(wù)器發(fā)送其版本信息,當(dāng)頁面展示效果等需求發(fā)生變化時(shí),服務(wù)器可向終端下發(fā)新的解析模塊及通信模塊。平臺(tái)實(shí)現(xiàn)是指應(yīng)用中與終端系統(tǒng)有關(guān)部分,即原生的部分。內(nèi)容容器是指用于展現(xiàn)超文本標(biāo)記語言文件的組件或控件,例如WebView。解析模塊可以通過Javascript,根據(jù)原生函數(shù)傳來的數(shù)據(jù)實(shí)現(xiàn)對(duì)圖文內(nèi)容進(jìn)行解析,特別是針對(duì)復(fù)雜呈現(xiàn)效果,可能通過對(duì)內(nèi)容結(jié)構(gòu)調(diào)整及樣式控制實(shí)現(xiàn);如果有交互需求,則需要對(duì)解析過的組件添加監(jiān)聽事件,當(dāng)用戶操作觸發(fā)或數(shù)據(jù)變更引起觸發(fā)時(shí)通過調(diào)用通信模塊完成與端的交互及數(shù)據(jù)傳遞。解析模塊可以根據(jù)產(chǎn)品功能及效果需要進(jìn)行設(shè)置。通信模塊的主要功能是完成內(nèi)容容器與平臺(tái)的數(shù)據(jù)通信,針對(duì)不同系統(tǒng)進(jìn)行設(shè)置實(shí)現(xiàn)與不同操作系統(tǒng)的通信,為內(nèi)容容器與平臺(tái)實(shí)現(xiàn)之間的交互提供支持。在頁面或組件初始化時(shí),內(nèi)容容器獲取了超文本標(biāo)記語言文件,平臺(tái)實(shí)現(xiàn)中的原生函數(shù)將預(yù)定數(shù)據(jù)傳遞給內(nèi)容容器,以便解析模塊根據(jù)初始數(shù)據(jù)進(jìn)行內(nèi)容解析,或?qū)?nèi)容進(jìn)行結(jié)構(gòu)調(diào)整處理。初始化部分可以使內(nèi)容和數(shù)據(jù)能夠在第一時(shí)間傳給呈現(xiàn)容器。
本申請(qǐng)的上述實(shí)施例提供的方法通過獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,而后通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,最后根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面,提高了應(yīng)用的安全性。
請(qǐng)參考圖4,圖4是根據(jù)本實(shí)施例的頁面展現(xiàn)方法的又一個(gè)實(shí)施例的流程示意圖。
在圖4中,該頁面展現(xiàn)方法400,包括以下步驟:
步驟401,響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息。
在本實(shí)施例中,頁面展現(xiàn)方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的終端)可以響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息。上述服務(wù)器可以根據(jù)目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,確定是否存在適用于目標(biāo)應(yīng)用的待下發(fā)的外部文件,若是,則下發(fā)待下發(fā)的外部文件。上述服務(wù)器可以查詢與所述目標(biāo)應(yīng)用的版本信息對(duì)應(yīng)的最新的外部文件的版本信息,判斷上述電子設(shè)備發(fā)來的外部文件的版本信息與最新的外部文件的版本信息是否一致,若否,則向上述電子設(shè)備發(fā)送最新的外部文件。
步驟402,接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。
在本實(shí)施例中,上述電子設(shè)備可以接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。上述電子設(shè)備接收到服務(wù)器下發(fā)的外部文件后將其保存在指定位置,指定位置即原外部文件保存的位置,服務(wù)器下發(fā)的外部文件與本地存儲(chǔ)的外部文件同名,這樣,可以保證超文本標(biāo)記語言文件中的外部腳本依然可以正常運(yùn)行。
步驟403,獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件。
在本實(shí)施例中,上述電子設(shè)備可以獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件。超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息。以腳本通過JavaScript編寫而成為例,可以將<script>標(biāo)簽中"src"屬性設(shè)置為外部文件的名稱。
步驟404,通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容。
在本實(shí)施例中,上述電子設(shè)備可以通過運(yùn)行步驟403中獲取的超文本標(biāo)記語言文件中的腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容。
步驟405,根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在本實(shí)施例中,上述電子設(shè)備可以根據(jù)步驟404中確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。需要說明的是步驟401至步驟405可以視為目標(biāo)應(yīng)用啟動(dòng)后頁面的初始化過程,展現(xiàn)待展現(xiàn)頁面之后可以繼續(xù)通過超文本標(biāo)記語言文件中的腳本監(jiān)測(cè)所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,或預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變,并執(zhí)行相應(yīng)操作
本申請(qǐng)的上述實(shí)施例提供的方法通過將腳本保存在外部文件中,在需要更改超文本標(biāo)記語言文件中的腳本時(shí),不必對(duì)整個(gè)應(yīng)用進(jìn)行更新,提高了更新效率。
進(jìn)一步參考圖5,作為對(duì)上述方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N頁面展現(xiàn)裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖5所示,本實(shí)施例的頁面展現(xiàn)裝置500包括:獲取單元501、確定單元502、展現(xiàn)單元503,其中,獲取單元501,配置用于獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息;確定單元502,配置用于通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;展現(xiàn)單元503,配置用于根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在本實(shí)施例中,獲取單元501、確定單元502、展現(xiàn)單元503的具體處理可以參考圖2對(duì)應(yīng)實(shí)施例步驟201、步驟202、步驟203的詳細(xì)描述,在此不再贅述。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,超文本標(biāo)記語言文件中插入有對(duì)腳本的位置指示信息,腳本保存在外部文件中;以及裝置還包括:發(fā)送單元(圖中未示出),配置用于響應(yīng)于目標(biāo)應(yīng)用的啟動(dòng),向?qū)δ繕?biāo)應(yīng)用提供支持的服務(wù)器發(fā)送目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,其中,服務(wù)器用于根據(jù)目標(biāo)應(yīng)用的版本信息和外部文件的版本信息,確定是否存在適用于目標(biāo)應(yīng)用的待下發(fā)的外部文件,若是,則下發(fā)待下發(fā)的外部文件;接收單元(圖中未示出),配置用于接收服務(wù)器下發(fā)的外部文件,并將本地存儲(chǔ)的外部文件替換為服務(wù)器下發(fā)的外部文件。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,裝置還包括:改變確定單元(圖中未示出),配置用于通過運(yùn)行腳本,按照預(yù)設(shè)時(shí)間間隔調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并確定預(yù)設(shè)參數(shù)的參數(shù)值是否發(fā)生改變;內(nèi)容確定單元(圖中未示出),配置用于響應(yīng)于確定出預(yù)設(shè)參數(shù)的參數(shù)值發(fā)生了改變,根據(jù)改變后的參數(shù)值重新確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;頁面展現(xiàn)單元(圖中未示出),配置用于根據(jù)重新確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,裝置還包括:調(diào)用單元(圖中未示出),配置用于通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到所展現(xiàn)的頁面中預(yù)設(shè)事件的發(fā)生,調(diào)用用于執(zhí)行與預(yù)設(shè)事件相關(guān)聯(lián)的預(yù)設(shè)操作的原生函數(shù)。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,預(yù)設(shè)事件包括針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作;以及調(diào)用單元(圖中未示出),進(jìn)一步配置用于通過運(yùn)行腳本,響應(yīng)于監(jiān)測(cè)到針對(duì)所展現(xiàn)的頁面中的目標(biāo)圖片的點(diǎn)擊操作的發(fā)生,調(diào)用用于新建窗口并在窗口中展示目標(biāo)圖片的原始圖片的原生函數(shù)。
從圖5中可以看出,本實(shí)施例中頁面展現(xiàn)裝置500通過獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,而后通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容,最后根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面,提高了應(yīng)用的安全性。
下面參考圖6,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端的計(jì)算機(jī)系統(tǒng)600的結(jié)構(gòu)示意圖。圖6示出的終端僅僅是一個(gè)示例,不應(yīng)對(duì)本申請(qǐng)實(shí)施例的功能和使用范圍帶來任何限制。
如圖6所示,計(jì)算機(jī)系統(tǒng)600包括中央處理單元(CPU)601,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)602中的程序或者從存儲(chǔ)部分608加載到隨機(jī)訪問存儲(chǔ)器(RAM)603中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在RAM 603中,還存儲(chǔ)有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。CPU 601、ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。
以下部件連接至I/O接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分607;包括硬盤等的存儲(chǔ)部分608;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器610也根據(jù)需要連接至I/O接口606。可拆卸介質(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器610上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分608。
特別地,根據(jù)本公開的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括承載在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。在該計(jì)算機(jī)程序被中央處理單元(CPU)601執(zhí)行時(shí),執(zhí)行本申請(qǐng)的方法中限定的上述功能。需要說明的是,本申請(qǐng)所述的計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或者是上述兩者的任意組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子可以包括但不限于:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本申請(qǐng)中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本申請(qǐng)中,計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無線、電線、光纜、RF等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)單元、程序段、或代碼的一部分,所述單元、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括獲取單元、確定單元、展現(xiàn)單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,獲取單元還可以被描述為“獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件的單元”。
作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:獲取與目標(biāo)應(yīng)用中待展現(xiàn)頁面關(guān)聯(lián)的超文本標(biāo)記語言文件,其中,超文本標(biāo)記語言文件中插入有腳本或?qū)δ_本的位置指示信息;通過運(yùn)行腳本,調(diào)用用于獲取預(yù)設(shè)參數(shù)的參數(shù)值的原生函數(shù),并根據(jù)所獲取的參數(shù)值確定超文本標(biāo)記語言文件中目標(biāo)元素的內(nèi)容;根據(jù)所確定的內(nèi)容展現(xiàn)待展現(xiàn)頁面。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。