TWI654860B - Hybrid application client resource calling method, client and system - Google Patents
Hybrid application client resource calling method, client and systemInfo
- Publication number
- TWI654860B TWI654860B TW102122364A TW102122364A TWI654860B TW I654860 B TWI654860 B TW I654860B TW 102122364 A TW102122364 A TW 102122364A TW 102122364 A TW102122364 A TW 102122364A TW I654860 B TWI654860 B TW I654860B
- Authority
- TW
- Taiwan
- Prior art keywords
- resource
- client
- version
- server
- request
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申請案揭示了一種HybridApp客戶端的資源調用方法、客戶端及系統,用以解決現有技術中載入網頁時容易出錯的問題。該方法客戶端接收服務端發送的包含有需調用的資源的位址的頁面資料,解析頁面資料並產生資源調用請求,根據該客戶端本地的保本資訊修改該資源調用請求,根據修改後的資源調用請求獲取資源。透過上述方法,當客戶端與服務端的版本不同時,可在不修改頁面資料的條件下提供正常的服務,從而可以保證後續正常的載入網頁。
Description
本申請案關於網際網路技術領域,尤其關於一種混合型應用客戶端的資源調用方法、客戶端及系統。
目前,HybridApp(混合型應用)客戶端由於其兼具了本地化應用(NativeApp)客戶端和基於網頁的應用(WebApp)客戶端的優勢而被廣泛的應用在行動終端中。HybridApp客戶端雖然看上去是一個NativeApp客戶端,但其訪問的實際上是一個網頁。
圖1為現有技術中HybridApp客戶端在為客戶提供服務的過程,具體包括以下步驟:
S101:HybridApp客戶端根據預定的統一資源定位符(URL),向服務端發送攜帶該URL的超文件傳輸協定(Hyper Text Transport Protocol,HTTP)請求。
即,HybridApp客戶端訪問預定的該URL對應的頁面。
S102:服務端向HybridApp客戶端返回超文件標記語言(Hyper Text Markup Language,HTML)代碼。
該HTML代碼具體可以是HTML5代碼。
S103:HybridApp客戶端解析該HTML代碼,確定該HTML代碼所要調用的javascript或級聯樣式表(Cascading Style Sheet,CSS)。
其中,該HTML代碼中包含所要調用的javascript標識或者CSS標識,用於標識所要調用的javascript或者CSS。
S104:HybridApp客戶端向服務端獲取所要調用的javascript或CSS。
S105:HybridApp客戶端透過獲取的javascript或CSS調用客戶端本地的應用程式編程介面(Application Programming Interface,API)。
S106:HybridApp客戶端透過調用的API啟動自身所在的行動終端的相應功能。
由於單純的一個javascript或CSS是不能啟用行動終端的功能的,需要由HybridApp客戶端本地保存的API來啟用,因此,HybridApp客戶端要啟用自身所在的行動終端的相應功能,必須要基於HTML代碼獲取javascript或CSS,再透過獲取到的javascript或CSS調用本地的API來啟用行動終端的功能。
例如,HybridApp客戶端提供了一個攝像頭拍照功能,服務端中保存的javascript為photoV2.0.js,HybridApp客戶端中保存的API為photoV2.0.jar。則HybridApp客戶端先訪問服務端的頁面,確定服務端返回
的HTML5代碼所要調用的javascript為photoV2.0.js,向服務端獲取photoV2.0.js,並透過photoV2.0.js調用自身的photoV2.0.jar來啟用該HybridApp客戶端所在的行動終端的攝像頭。
可見,HybridApp客戶端可以提供正常服務的前提是:該HybridApp客戶端的版本與服務端的版本一致。如果HybridApp客戶端的版本與服務端的版本不一致,HybridApp客戶端就不能正常提供服務。
例如,HybridApp客戶端提供了一個攝像頭拍照功能,HybridApp客戶端的版本為V1.0,則HybridApp客戶端中保存的API為photoV1.0.jar(HybridApp客戶端中保存的API的版本與該HybridApp客戶端自身的版本一致)。如果服務端的版本為V2.0,則服務端中保存的javascript為photoV2.0.js。那麼,服務端向HybridApp客戶端返回的HTML5代碼所要調用的javascript就是photoV2.0.js。HybridApp客戶端獲取到photoV2.0.js後,由於photoV2.0.js只能調用版本同樣為V2.0的API(即photoV2.0.jar),而HybridApp客戶端中保存的是版本為V1.0的API(即photoV1.0.jar),因此HybridApp客戶端透過photoV2.0.js調用不到版本匹配的API,從而不能正常提供該攝像頭拍照功能。
由於並不是每個客戶都會及時的更新自身行動終端上安裝的HybridApp客戶端的版本,因此,為了解決上述HybridApp客戶端與服務端版本不同時,HybridApp客戶
端不能正常提供服務的問題,在現有技術中,HybridApp客戶端將可以調用自身目前版本下的所有API的javascript或CSS(以下將javascript和CSS合稱為前端資源)保存在本地,當HybridApp客戶端接收到服務端返回的HTML代碼時,如果確定該HTML代碼所要調用的前端資源的版本與該HybridApp客戶端本地的版本不一致,則採用本地保存的版本的前端資源的標識替換HTML代碼中所要調用的前端資源的標識,並解析替換了前端資源的標識後的HTML代碼,調用替換後的前端資源以完成相應功能。
例如,HybridApp客戶端提供了一個攝像頭拍照功能,HybridApp客戶端的版本為V1.0,則HybridApp客戶端中保存的API為photoV1.0.jar,並且,該HybridApp客戶端中保存了可以調用photoV1.0.jar的前端資源(javascript)photoV1.0.js。服務端的版本為V2.0,服務端中保存的javascript為photoV2.0.js。
則,服務端向HybridApp客戶端返回的HTML代碼所要調用的javascript為photoV2.0.js。HybridApp客戶端確定該HTML代碼中包含的javascript標識為photoV2.0.js的標識時,採用本地保存的對應於該photoV2.0.js、但版本不同的photoV1.0.js的標識替換該HTML代碼中的photoV2.0.js的標識,再解析HTML代碼,根據替換後的標識(photoV1.0.js的標識)調用本地保存的photoV1.0.js,而不從服務端中獲取photoV2.0.js。最後,
HybridApp客戶端透過photoV1.0.js調用本地保存的photoV1.0.jar,以啟用行動終端的攝像頭功能。
然而,在現有技術的上述方法中,由於HybridApp客戶端需要採用自身保存的photoV1.0.js的標識來替換服務端返回的HTML代碼中的photoV2.0.js的標識,因此,這就必然會破壞該HTML代碼的原始結構,尤其是當該HTML代碼為HTML5代碼時,還會使HTML5代碼中自身的AppCache功能失效,這就會導致後續基於HTML代碼載入網頁時容易出現錯誤。
本申請案實施例提供一種混合型應用客戶端的資源調用方法、客戶端及系統,用以解決現有技術中載入網頁時容易出錯的問題。
本申請案實施例提供的一種混合型應用客戶端的資源調用方法,包括:向服務端發送頁面請求訊息;接收服務端根據該頁面請求訊息返回的頁面資料;解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;獲取客戶端本地的版本資訊,根據客戶端本地的版本資訊修改該資源調用請求;根據修改後的資源調用請求獲取資源。
本申請案實施例提供的一種混合型應用客戶端,包
括:瀏覽器插件及內置模組;該瀏覽器插件,用於向服務端發送頁面請求訊息,接收服務端根據該頁面請求訊息返回的頁面資料,解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;該內置模組包括監聽單元、解析單元及資源讀取單元;該監聽單元,用於監聽該瀏覽器插件發送的資源調用請求;該解析單元,用於獲取客戶端本地的版本資訊,根據客戶端本地的版本資訊修改該監聽單元監聽到的該資源調用請求;該資源讀取單元,用於根據修改後的資源調用請求獲取資源,並將獲取到的資源返回給該瀏覽器插件。
本申請案實施例提供的一種混合型應用系統,包括:服務端,用於接收客戶端發送的頁面請求訊息,根據該頁面請求訊息,向該客戶端返回頁面資料;客戶端,用於接收服務端返回的頁面資料,解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;獲取該客戶端本地的版本資訊,根據客戶端本地的版本資訊修改接收到的該資源調用請求,根據修改後的資源調用請求獲取資源。
本申請案實施例提供一種混合型應用客戶端的資源調用方法、客戶端及系統,該方法客戶端接收服務端發送的
包含有需調用的資源的位址的頁面資料,解析頁面資料並產生資源調用請求,根據該客戶端本地的保本資訊修改該資源調用請求,根據修改後的資源調用請求獲取資源。透過上述方法,當客戶端與服務端的版本不同時,可在不修改頁面資料的條件下提供正常的服務,從而可以保證後續正常的載入網頁。
501‧‧‧瀏覽器插件
502‧‧‧內置模組
5021‧‧‧監聽單元
5022‧‧‧解析單元
5023‧‧‧資源讀取單元
601‧‧‧服務端
602‧‧‧客戶端
圖1為現有技術中HybridApp客戶端在為客戶提供服務的過程;圖2為本申請案實施例提供的客戶端與服務端的交互過程;圖3為本申請案實施例提供的第二客戶端向第一客戶端發送註冊資訊的示意圖;圖4為本申請案實施例提供的第一客戶端的內置模組未啟用時,第二客戶端啟用自身的內置模組的示意圖;圖5為本申請案實施例提供的HybridApp客戶端結構示意圖;圖6為本申請案實施例提供的資源調用系統結構示意圖。
本申請案實施例服務端向客戶端發送的頁面資料中包含需調用的資源的位址,解析頁面資料並產生資源調用請
求,根據該客戶端本地的版本資訊修改該資源調用請求,根據修改後的資源調用請求獲取資源,實現了當客戶端與服務端的版本不一致時,客戶端可在不修改頁面資料的條件下正常提供服務,保證後續可以正常的基於頁面資料載入網頁。
下面結合說明書附圖對本申請案實施例進行詳細描述。
圖2為本申請案實施例提供的客戶端與服務端的交互過程,具體包括以下步驟:
S201:向服務端發送頁面請求訊息。
本申請案實施例中所述的客戶端為混合型應用(HybridApp)客戶端。當客戶端提供服務時,客戶端中的瀏覽器插件先根據預設的URL,向服務端發送頁面請求訊息,用於向服務端請求獲取該URL對應的網頁。其中,該服務端為網路服務端。該頁面請求訊息可以是HTTP請求訊息。
S202:接收服務端根據該頁面請求訊息返回的頁面資料。
服務端接收到該頁面請求訊息後,則根據該頁面請求訊息中攜帶的URL,向客戶端返回該URL對應的網頁的頁面資料。
其中,為實現頁面特定的功能,該頁面資料中包含所要調用的資源的相關資訊,如該資源的位址。該資源的位址可以是該客戶端本地的位址。該資源包括用於執行特定
的本地功能(比如,拍照、語音功能等)所需的依賴資源,即前端資源。
在本申請案實施例中,該地址中包含資源名稱以及版本占位符。
具體的,服務端返回的頁面資料為HTML代碼。該HTML代碼中包含的位址可以是SRC路徑,該HTML代碼可以是HTML5代碼。
例如,服務端可以根據預先設定的協定返回HTML代碼,返回的HTML代碼的格式如下:<html> <body>業務代碼</body> <script type=”text/javascript”src=”http://localhost:50000/photo${VERSION}.js”></script> </html>
上述HTML代碼中包含了一條SRC路徑,即http://localhost:50000/photo${VERSION}.js,這條路徑就是上述HTML代碼所要調用的資源的獲取地址。該SRC路徑是以URL的形式組織的,其中的“localhost:50000”代表該客戶端本地的埠號,photo為資源的名稱,${VERSION}為版本占位符。
S203:解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求。
繼續沿用上例,客戶端的瀏覽器插件接收到上述頁面資料後,對該頁面資料進行解析,當解析出<script type=”text/javascript”src=”http://localhost:50000/photo${V
ERSION}.js”></script>時,即可獲知上述HTML代碼所要調用的資源需要從上述位址(SRC路徑)上獲取,因此,客戶端的瀏覽器插件產生並向上述位址發送資源調用請求,用於從該位址上獲取需要調用的資源。其中,資源調用請求中攜帶上述位址。該資源調用請求也可以是HTTP請求訊息。
S204:獲取本地的版本資訊,根據本地的版本資訊修改資源調用請求。
本申請案實施例中在HybridApp客戶端中新增一個內置模組,該內置模組監聽並接收所述的資源調用請求。繼續沿用上例,由於客戶端向上述位址http://localhost:50000/photo${VERSION}.js發送資源調用請求時,上述位址中的“localhost:50000”表示該客戶端本地的埠,因此,該資源調用請求仍會被該客戶端自身所接收。具體的,客戶端中的內置模組可對本地的埠號為50000的埠進行監聽,以接收該資源調用請求,其中,上述埠號可與服務端預先約定。
內置模組接收到資源調用請求後,根據資源調用請求即可獲知需要調用的資源。此時,內置模組獲取該客戶端本地目前的版本資訊,並據此修改接收到的資源調用請求,將客戶端本地的版本資訊寫入該資源調用請求。
具體的,由於資源調用請求中包含需要調用的資源的位址,而該資源的地址中包含該資源的名稱及版本占位符,因此該資源調用請求中也包含該資源的名稱及版本占
位符。從而,該客戶端的內置模組採用獲取到的該客戶端本地的版本資訊替換資源調用請求中包含的版本占位符。
假設客戶端目前的版本為V1.0,則採用V1.0替換版本占位符後,該資源調用請求攜帶的該資源的位址就變成了:http://localhost:50000/photoV1.0.js。因此,根據上述位址即可獲取所需的資源photoV1.0.js。
此外,上述版本占位符也可以進一步用於標識需要調用的資源為限制性資源。限制性資源即具有版本限制的資源。對於限制性資源的調用而言,當資源調用請求中包含的資源的版本資訊與客戶端本地的版本資訊不一致時,該資源調用請求不能調用到該限制性資源。因此,內置模組對資源調用請求進行監聽的步驟還可以包括判斷資源調用請求中是否包含版本占位符,當該資源調用請求包含版本占位符時,將版本占位符替換為客戶端本地的版本資訊。
S205:根據修改後的資源調用請求獲取資源。
繼續沿用上例,由於修改後的資源調用請求中攜帶的資源的位址為http://localhost:50000/photoV1.0.js,因此,客戶端的內置模組根據該修改後的位址,獲取photoV1.0.js。
具體的,服務端向客戶端返回的HTML代碼中包含的資源的位址中,除了可包含需要調用的資源的名稱以及版本占位符以外,還可包含服務端中儲存各個資源的儲存路徑,則客戶端的內置模組在根據修改後的位址獲取資源時,可以基於修改後的位址中包含的資源的名稱(如上例
中的photo)以及客戶端本地目前的版本資訊(如上例中的V1.0),從客戶端本地獲取相應的資源(如上例中的photoV1.0.js),當客戶端本地未保存相應的資源時,則可根據修改後的位址中包含的服務端中儲存各資源的儲存路徑,從服務端中獲取相應的資源,並將從服務端中獲取到的資源保存在客戶端本地,以備後續再次調用。
客戶端的內置模組獲取到資源photoV1.0.js後,則可將該資源photoV1.0.js返回給瀏覽器插件進行調用。
本申請案實施例中,可以將限制性資源(即具有版本限制的資源)封裝在客戶端一側,服務端返回的頁面資料對於限制性資源不指定資源的版本資訊,而在頁面資料中設置版本占位元符,客戶端解析頁面資料,並由內置模組監聽資源資源調用請求;當資源調用請求中包含版本占位符時,表示該資源調用請求調用的資源為限制性資源,內置模組獲取客戶端本地的版本資訊,使用客戶端本地的版本資訊替換資源調用請求中的版本占位符。
透過上述方法,客戶端在接收到上述頁面資料後,並不需要對頁面資料進行修改,而是解析頁面資料後,根據該頁面資料中包含的位址產生資源調用請求並發送,由於該位址是客戶端本地的位址,因此該資源調用請求可以被客戶端的內置模組監聽和接收,內置模組對接收到的資源調用請求中包含的版本占位符進行修改。也即,客戶端修改的是解析頁面資料後其自發自收的資源調用請求,而並非頁面資料本身,從而,當客戶端與服務端的版本不一致
時,客戶端可以在不修改頁面資料的條件下,調用到與客戶端目前版本匹配的資源,進而正常為客戶提供服務,而且由於頁面資料並未被修改,因此保證了後續基於該頁面資料可以正常的載入網頁。
而且,由於現有技術中客戶端需要對服務端返回的HTML代碼進行修改,再將修改後的HTML代碼透過其自身的瀏覽器插件進行載入,因此這也會修改了對頁面的載入方式,同時,對本地修改後的HTML代碼的載入方式,相對於直接載入服務端的URL位址的方式,會破壞請求的同源性(原HTML代碼是源於服務端,其路徑為http://協議,而修改後的HTML代碼源於客戶端自身,其路徑為file://協議)。這種載入方式的改變,會導致HTML5規範的AppCache等特性不可用。而透過本申請案實施例提供的上述方法,由於客戶端不對服務端返回的頁面資料進行修改,因此也就不會破壞頁面資料的同源性。當頁面資料為HTML代碼時,不會破壞HTML5規範的對載入方式有嚴格要求的相關特性。
另外,透過上述方法,服務端無需獲知客戶端目前的版本是否與服務端的版本一致,也即,客戶端的版本資訊相對於服務端而言是透明的,即使客戶端的版本與服務端的版本不一致,則客戶端仍可以採用上述方法可以調用資源實現頁面中的功能。
在本申請案實施例中,行動終端中可以安裝多個客戶端,安裝的每個客戶端均可新增如上所述的內置模組,為
了減輕行動終端的負擔,一個客戶端如果啟用了自身的內置模組,則該內置模組除了為該客戶端處理其自身的資源調用請求以外,還可以為其他客戶端處理資源調用請求。
在本申請案實施例中所述的多個客戶端包括第一客戶端及第二客戶端。其中,第一客戶端內置模組已啟用,第二客戶端可透過第一客戶端已啟用的內置模組調用資源。
具體的,第一客戶端接收第二客戶端發送的註冊資訊,保存該註冊資訊中攜帶的該第二客戶端目前的版本資訊,當第一客戶端接收到第二客戶端發送的資源調用請求時,第一客戶端將該資源調用請求中攜帶的位址中包含的版本占位符修改為保存的該第二客戶端目前的版本資訊,根據修改後的資源調用請求中攜帶的位址,獲取相應的資源,並將獲取到的資源返回給第二客戶端。
其中,第二客戶端發送給第一客戶端的註冊資訊中除了包括該第二客戶端目前的版本資訊以外,還可包括該第二客戶端的標識。
第二客戶端在採用如圖2所示的方法與服務端交互時,可以透過第二客戶端自身的瀏覽器插件執行步驟S201~S203,並判斷目前行動終端中是否有其他客戶端已經啟用了內置模組。當判斷第一客戶端的內置模組已經啟用時,則透過第一客戶端中已啟用的內置模組執行資源的調用,當第一客戶端的內置模組接收到的資源調用請求中攜帶第二客戶端的標識時,第一客戶端即可獲知該資源調用請求是第二客戶端發送的,因此獲取了相應的資源後,
將該資源返回給第二客戶端的瀏覽器插件,如圖3所示。
圖3為本申請案實施例提供的第二客戶端向第一客戶端發送註冊資訊的示意圖,在圖3中,第二客戶端以心跳的方式向第一客戶端發送攜帶第二客戶端目前的版本資訊以及第二客戶端的標識的註冊資訊,即,週期性的向第一客戶端發送註冊資訊,具體可採用以下訊息發送註冊資訊:http://localhost:50000/register_token/appname/version。
在上述註冊資訊中,appname即為第二客戶端的標識,version即為第二客戶端目前的版本資訊。
第一客戶端接收到該註冊資訊後,則由該第一客戶端自身的內置模組對該註冊資訊作出回應返回給第二客戶端。因此,第二客戶端只要判斷是否在指定時間長度內接收到第一客戶端的內置模組作出的回應,即可判斷出第一客戶端的內置模組是否已經啟用。如果第二客戶端確定第一客戶端的內置模組已啟用,則不必再啟用自身的內置模組,直接透過第一客戶端的內置模組執行資源調用步驟。
圖4為本申請案實施例提供的第一客戶端的內置模組未啟用時,第二客戶端啟用自身的內置模組的示意圖,在圖4中,如果第二客戶端透過以心跳方式發送的註冊資訊探測到第一客戶端中的內置模組已經關閉,則啟用第二客戶端自身的內置模組進行補位元。
透過上述方法,行動終端中只要有一個客戶端啟用了自身的內置模組即可,而無需所有的客戶端都啟用內置模
組,可減輕行動終端的壓力。
另外,在本申請案實施例中,由於向服務端發送頁面請求訊息的發送方除了包括HybridApp客戶端以外,還包括行動終端自身的瀏覽器或其他類型的客戶端,因此,在圖2所示的步驟S202中,服務端向客戶端返回包含該客戶端本地的位址的頁面資料之前,還可以根據接收到的頁面請求訊息中的指定欄位,確定客戶端的類型為指定類型。具體的,服務端可以根據接收到的頁面請求訊息中的UAgent欄位或者其他新增的欄位,判斷發送該頁面請求訊息的客戶端的類型是否為HybridApp類型,若是,則返回包含該客戶端本地的位址的頁面資料,否則,可返回正常的頁面資料。
以上是本申請案實施例提供的HybridApp客戶端的資源調用方法,基於同樣的思路,本申請案實施例還提供一種HybridApp客戶端以及一種資源調用系統,如圖5、圖6所示。
圖5為本申請案實施例提供的HybridApp客戶端結構示意圖,具體包括:該瀏覽器插件501,用於向服務端發送頁面請求訊息,接收服務端根據該頁面請求訊息返回的頁面資料,解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;該內置模組502包括監聽單元5021、解析單元5022及資源讀取單元5023;
該監聽單元5021,用於監聽該瀏覽器插件產生的資源調用請求;該解析單元5022,用於獲取客戶端本地的版本資訊,根據客戶端本地的版本資訊修改該監聽單元監聽到的該資源調用請求;該資源讀取單元5023,用於根據修改後的資源調用請求獲取資源,並將獲取到的資源返回給該瀏覽器插件。
該頁面資料為超文件標記語言HTML代碼,該HTML代碼中包含需要調用的資源的位址。
該位址中包含需要調用的資源的名稱及版本占位符,版本占位元符標識該資源為限制性資源;該解析單元5022判斷該監聽單元5021監聽到的資源調用請求中是否包含版本占位符,當該資源調用請求包含版本占位符時,採用客戶端目前的版本資訊替換該版本占位元符。
該資源讀取單元5023具體用於,基於修改後的資源調用請求包含的資源的名稱及版本資訊,從本地獲取相應的資源,當本地未保存相應的資源時,從該服務端中獲取相應的資源,並將獲取到的資源保存在本地。
圖6為本申請案實施例提供的資源調用系統結構示意圖,具體包括服務端601及客戶端602。
服務端601,用於接收客戶端602發送的頁面請求訊息,根據該頁面請求訊息,向該客戶端602返回頁面資料;客戶端602,用於接收服務端601返回的頁面資料,
解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;獲取該客戶端602本地的版本資訊,根據客戶端本地的版本資訊修改接收到的該資源調用請求,根據修改後的資源調用請求獲取資源。
本申請案實施例提供一種混合型應用客戶端的資源調用方法、客戶端及系統,該方法客戶端接收服務端發送的包含有需調用的資源的位址的頁面資料,解析頁面資料並產生資源調用請求,根據該客戶端本地的保本資訊修改該資源調用請求,根據修改後的資源調用請求獲取資源。透過上述方法,當客戶端與服務端的版本不同時,可在不修改頁面資料的條件下提供正常的服務,從而可以保證後續正常的載入網頁。
本領域內的技術人員應明白,本申請案的實施例可提供為方法、系統、或電腦程式產品。因此,本申請案可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請案可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁盤記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本申請案是參照根據本申請案實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電
腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得透過電腦或其他可編程資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可編程資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本申請案的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請案各種改動和變形而不脫離本申請案的精神和範圍。這樣,倘若本申請案的這些修改和變形屬於本申請案申請專利範圍及其等同
技術的範圍之內,則本申請案也意圖包含這些改動和變形在內。
Claims (9)
- 一種混合型應用客戶端的資源調用方法,其特徵在於,包括:向服務端發送頁面請求訊息;接收服務端根據該頁面請求訊息返回的頁面資料;解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;獲取客戶端本地的版本資訊,根據客戶端本地的版本資訊修改該資源調用請求;及根據修改後的資源調用請求獲取資源,其中,該頁面資料為超文件標記語言HTML代碼,該HTML代碼中包含需要調用的資源的位址。
- 如申請專利範圍第1項所述的方法,其中,該位址中包含需要調用的資源的名稱及版本占位符,版本占位元符標識該資源為限制性資源。
- 如申請專利範圍第2項所述的方法,其中,根據本地的版本資訊修改該資源調用請求,具體包括:對該資源調用請求進行監聽;及判斷該資源調用請求中是否包含版本占位符,當該資源調用請求包含版本占位符時,將版本占位符替換為客戶端本地的版本資訊。
- 如申請專利範圍第1項所述的方法,其中,根據修改後的資源調用請求獲取資源,具體包括:基於修改後的資源調用請求包含的資源的名稱及版本 資訊,從該客戶端本地獲取相應的資源;及當該客戶端本地未保存相應的資源時,從該服務端中獲取相應的資源,並將獲取到的資源保存在本地。
- 如申請專利範圍第3項所述的方法,其中,該客戶端包括第一客戶端及第二客戶端;該方法還包括:該第一客戶端接收第二客戶端發送的註冊資訊,保存該註冊資訊中攜帶的該第二客戶端目前的版本資訊;及當接收到該第二客戶端發送的資源調用請求時,該第一客戶端將該資源調用請求中攜帶的位址中包含的版本占位符修改為保存的該第二客戶端目前的版本資訊,根據修改後的資源調用請求中攜帶的位址,獲取相應的資源,並將獲取到的資源返回給該第二客戶端。
- 一種混合型應用客戶端,其特徵在於,包括:瀏覽器插件及內置模組;該瀏覽器插件,用於向服務端發送頁面請求訊息,接收服務端根據該頁面請求訊息返回的頁面資料,解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;該內置模組包括監聽單元、解析單元及資源讀取單元;該監聽單元,用於監聽該瀏覽器插件產生的資源調用請求;該解析單元,用於獲取客戶端本地的版本資訊,根據客戶端本地的版本資訊修改該監聽單元監聽到的該資源調 用請求;及該資源讀取單元,用於根據修改後的資源調用請求獲取資源,並將獲取到的資源返回給該瀏覽器插件,其中,該頁面資料為超文件標記語言HTML代碼,該HTML代碼中包含需要調用的資源的位址。
- 如申請專利範圍第6項所述的客戶端,其中,該位址中包含需要調用的資源的名稱及版本占位符,版本占位元符標識該資源為限制性資源;該解析單元判斷該監聽單元監聽到的資源調用請求中是否包含版本占位符,當該資源調用請求包含版本占位符時,採用客戶端本地的版本資訊替換該版本占位元符。
- 如申請專利範圍第7項所述的客戶端,其中,該資源讀取單元具體用於,基於修改後的資源調用請求包含的資源的名稱及版本資訊,從本地獲取相應的資源,當本地未保存相應的資源時,從該服務端中獲取相應的資源,並將獲取到的資源保存在本地。
- 一種資源調用系統,其特徵在於,包括:服務端,用於接收客戶端發送的頁面請求訊息,根據該頁面請求訊息,向該客戶端返回頁面資料;及客戶端,用於接收服務端返回的頁面資料,解析該頁面資料,獲取需要調用的資源的位址,產生資源調用請求;獲取該客戶端本地的版本資訊,根據客戶端本地的版本資訊修改接收到的該資源調用請求,根據修改後的資源調用請求獲取資源, 其中,該頁面資料為超文件標記語言HTML代碼,該HTML代碼中包含需要調用的資源的位址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201310024460.3 | 2013-01-23 | ||
CN201310024460.3A CN103942225B (zh) | 2013-01-23 | 2013-01-23 | 一种混合型应用客户端的资源调用方法、客户端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201431325A TW201431325A (zh) | 2014-08-01 |
TWI654860B true TWI654860B (zh) | 2019-03-21 |
Family
ID=51189895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102122364A TWI654860B (zh) | 2013-01-23 | 2013-06-24 | Hybrid application client resource calling method, client and system |
Country Status (6)
Country | Link |
---|---|
US (1) | US10263910B2 (zh) |
EP (1) | EP2948846B1 (zh) |
JP (1) | JP5982586B2 (zh) |
CN (1) | CN103942225B (zh) |
TW (1) | TWI654860B (zh) |
WO (1) | WO2014116563A1 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015171128A1 (en) * | 2014-05-07 | 2015-11-12 | Optum, Inc. | Web native bridge |
CN105354014B (zh) * | 2014-08-18 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 应用界面渲染展示方法及装置 |
US10061800B2 (en) * | 2014-09-15 | 2018-08-28 | Sap Se | Embedding database procedures in data-driven applications |
CN105577707B (zh) * | 2014-10-08 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 一种远程调用方法与设备 |
CN105607895B (zh) * | 2014-11-21 | 2021-03-02 | 阿里巴巴集团控股有限公司 | 一种基于应用程序编程接口的应用程序的运行方法和装置 |
US9648124B2 (en) * | 2014-12-08 | 2017-05-09 | International Business Machines Corporation | Processing hybrid data using a single web client |
CN104579751B (zh) * | 2014-12-11 | 2018-03-23 | 百度在线网络技术(北京)有限公司 | 应用的功能调起协议管理方法、装置及设备 |
CN104657499A (zh) * | 2015-03-11 | 2015-05-27 | 网易(杭州)网络有限公司 | 一种客户端app的网页加载方法及装置 |
CN104750493A (zh) * | 2015-04-01 | 2015-07-01 | 贵州电网公司信息通信分公司 | 基于混合模式跨平台应用的开发方法 |
CN104714830B (zh) * | 2015-04-03 | 2018-03-30 | 普元信息技术股份有限公司 | 基于原生开发语言实现跨平台应用开发的系统及方法 |
CN106775790B (zh) * | 2015-11-19 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种控件调用方法以及装置 |
CN106775795A (zh) * | 2015-11-25 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 一种针对hypbrid app提供服务的方法和装置 |
CN105893161A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 在软件程序中调用资源的方法和装置 |
CN109688145B (zh) * | 2015-12-23 | 2021-07-16 | 北京奇虎科技有限公司 | 隐私信息的保护方法及装置 |
CN106997298B (zh) * | 2016-01-22 | 2021-08-06 | 菜鸟智能物流控股有限公司 | 一种应用资源获取方法及装置 |
CN107172110A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种应用app的资源加载方法、业务功能实现方法及装置 |
CN105912357B (zh) * | 2016-03-31 | 2021-08-06 | 北京奇艺世纪科技有限公司 | 一种混合应用的启动方法及装置 |
CN111835864B (zh) | 2016-05-11 | 2023-04-25 | 创新先进技术有限公司 | 一种启动应用的方法和系统 |
CN105956140B (zh) * | 2016-05-12 | 2019-03-22 | 无锡威泰迅电力科技有限公司 | 基于混合模式移动应用的本地存储数据的方法 |
CN107436899A (zh) * | 2016-05-26 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 活体识别页面的实现方法和装置 |
CN107463563B (zh) * | 2016-06-02 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种浏览器的信息服务处理方法及装置 |
CN107704465B (zh) * | 2016-08-08 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 静态资源更新方法以及静态资源管理系统 |
US10725797B2 (en) * | 2016-09-05 | 2020-07-28 | Microsoft Technology Licensing, Llc | Service-driven dynamic user interface technology |
CN106599045B (zh) * | 2016-11-09 | 2020-09-29 | 上海艾融软件股份有限公司 | 一种请求发送方法及装置 |
CN106897416A (zh) * | 2017-02-22 | 2017-06-27 | 济南浪潮高新科技投资发展有限公司 | 一种交互方法、装置及系统 |
CN106951236B (zh) * | 2017-03-07 | 2020-06-05 | 东软集团股份有限公司 | 插件的开发方法及装置 |
CN113852498B (zh) * | 2017-06-05 | 2023-05-23 | 创新先进技术有限公司 | 一种部署、管理及调用组件的方法及装置 |
CN111885082B (zh) * | 2017-09-06 | 2023-08-01 | 创新先进技术有限公司 | 一种web应用包处理方法、装置及设备 |
CN107678820B (zh) * | 2017-09-29 | 2021-08-24 | 北京金山安全软件有限公司 | 网页处理方法、装置、服务器、终端设备和介质 |
CN107748689B (zh) * | 2017-10-19 | 2020-11-10 | 创新先进技术有限公司 | 一种网页展示方法和装置 |
CN107861875B (zh) * | 2017-11-15 | 2021-02-05 | 北京中电普华信息技术有限公司 | 一种混合移动应用的模拟方法及系统 |
CN109150904A (zh) * | 2018-09-25 | 2019-01-04 | 深圳市佰仟金融服务有限公司 | 接口服务调用方法及终端设备 |
CN109257426B (zh) * | 2018-09-26 | 2022-10-14 | 平安普惠企业管理有限公司 | 业务线资源加载方法、装置、计算机设备和存储介质 |
CN109471614A (zh) * | 2018-11-01 | 2019-03-15 | 上海找钢网信息科技股份有限公司 | 应用程序混合开发的方法及装置 |
CN110673827B (zh) * | 2019-08-27 | 2022-12-20 | 广州视源电子科技股份有限公司 | 基于安卓系统的资源调用方法及装置、电子设备 |
CN112714365B (zh) * | 2019-10-25 | 2024-02-09 | 上海哔哩哔哩科技有限公司 | 视频播放方法和系统 |
CN111274520B (zh) * | 2020-02-20 | 2023-08-15 | 北京百度网讯科技有限公司 | 网页资源审核方法、装置、设备和介质 |
CN113411219B (zh) * | 2021-06-29 | 2023-04-21 | 山东派盟网络科技有限公司 | 一种前端服务的发布方法、装置以及设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701451A (en) | 1995-06-07 | 1997-12-23 | International Business Machines Corporation | Method for fulfilling requests of a web browser |
JPH1165795A (ja) * | 1997-08-27 | 1999-03-09 | Canon Inc | 情報処理装置及び該装置におけるプログラムの起動方法 |
WO2002037325A2 (en) | 2000-11-06 | 2002-05-10 | Nortel Networks Limited | Method of dynamically creating a web page according to user preferences |
US6988280B2 (en) * | 2001-06-29 | 2006-01-17 | International Business Machines Corporation | System and method for enhancing authorization request in a computing device |
US6938077B2 (en) * | 2001-11-07 | 2005-08-30 | Microsoft Corporation | Client version advertisement service for overriding default client version properties |
PE20050216A1 (es) * | 2003-04-25 | 2005-04-23 | Qualcomm Inc | Metodo y aparato para controlar un recurso de camara en un dispositivo portatil |
JP2006031543A (ja) * | 2004-07-20 | 2006-02-02 | Ricoh Co Ltd | 情報提供装置、情報提供方法、情報提供プログラム及び記憶媒体 |
US7562358B2 (en) * | 2004-10-04 | 2009-07-14 | United Parcel Service Of America, Inc. | Controlled deployment of software in a web-based architecture |
US8060556B2 (en) * | 2006-10-20 | 2011-11-15 | Sap Ag | Service enabled tagged user interfaces |
CN101453685A (zh) * | 2007-12-07 | 2009-06-10 | 康佳集团股份有限公司 | 一种终端设备游戏上传下载管理实现方法及系统 |
US8837465B2 (en) * | 2008-04-02 | 2014-09-16 | Twilio, Inc. | System and method for processing telephony sessions |
WO2009156615A1 (fr) * | 2008-06-02 | 2009-12-30 | Awox | Procede et dispositif de mise a jour d'application informatique |
US8667483B2 (en) * | 2009-03-25 | 2014-03-04 | Microsoft Corporation | Device dependent on-demand compiling and deployment of mobile applications |
US9026905B2 (en) * | 2010-12-17 | 2015-05-05 | Facebook, Inc. | Customization of mobile applications using web-based technology |
US8631394B2 (en) * | 2011-01-13 | 2014-01-14 | Facebook, Inc. | Static resource processing |
US8554190B2 (en) * | 2011-02-28 | 2013-10-08 | Unwired Nation, Inc. | Mobile application system |
JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
US9342280B2 (en) * | 2011-05-27 | 2016-05-17 | Microsoft Technology Licesning, LLC | Travel log for manipulation of content |
US8577963B2 (en) | 2011-06-30 | 2013-11-05 | Amazon Technologies, Inc. | Remote browsing session between client browser and network based browser |
-
2013
- 2013-01-23 CN CN201310024460.3A patent/CN103942225B/zh active Active
- 2013-06-24 TW TW102122364A patent/TWI654860B/zh active
-
2014
- 2014-01-20 US US14/159,143 patent/US10263910B2/en active Active
- 2014-01-21 EP EP14706983.5A patent/EP2948846B1/en active Active
- 2014-01-21 WO PCT/US2014/012266 patent/WO2014116563A1/en active Application Filing
- 2014-01-21 JP JP2015553879A patent/JP5982586B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN103942225A (zh) | 2014-07-23 |
US10263910B2 (en) | 2019-04-16 |
JP5982586B2 (ja) | 2016-08-31 |
US20140207851A1 (en) | 2014-07-24 |
JP2016504694A (ja) | 2016-02-12 |
TW201431325A (zh) | 2014-08-01 |
EP2948846B1 (en) | 2021-07-28 |
WO2014116563A1 (en) | 2014-07-31 |
EP2948846A1 (en) | 2015-12-02 |
CN103942225B (zh) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI654860B (zh) | Hybrid application client resource calling method, client and system | |
CN108319483B (zh) | 网页处理方法、装置、终端及存储介质 | |
CN106936793B (zh) | 一种信息拦截处理方法及终端 | |
US9471701B2 (en) | Methods and systems for secure in-network insertion of web content and web services | |
US10447742B2 (en) | Information sharing method and device | |
US8689099B1 (en) | Cross-domain communication | |
US9639629B1 (en) | Accelerating the downloading of content to an application | |
TW201732657A (zh) | 業務執行方法及裝置 | |
US8966359B2 (en) | Web application content mapping | |
CN105743945A (zh) | 基于切换下载源的文件下载方法及系统 | |
CN104572099B (zh) | 基于组件和中间件的低耦合框架数据处理方法及系统 | |
CN109343975B (zh) | 用于页面间异步通信的方法和装置 | |
EP3896940A1 (en) | Resource description file processing, and page resource obtaining method and device | |
CN113076294A (zh) | 一种信息分享方法和装置 | |
CN109327530B (zh) | 一种信息处理方法、装置、电子设备和存储介质 | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
CN105677688B (zh) | 页面数据加载方法和系统 | |
TWI672019B (zh) | 調用文件之方法與裝置 | |
CN106648610B (zh) | 功能接口远程调用及其响应的方法和装置 | |
US10482507B2 (en) | Handling digital advertisements in a communication network | |
CN104468475B (zh) | 一种信息处理方法及电子设备 | |
CN104679786B (zh) | 一种表单处理的方法及装置 | |
CN107172221B (zh) | 跨域会话管理方法和装置 | |
CN108073627B (zh) | 一种跨域网页的JavaScript函数调用方法以及装置 |