欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種客戶端與網(wǎng)頁交互的方法和裝置與流程

文檔序號:12739533閱讀:507來源:國知局
一種客戶端與網(wǎng)頁交互的方法和裝置與流程

本發(fā)明涉及信息處理技術(shù)領(lǐng)域,具體而言涉及一種客戶端與網(wǎng)頁交互的方法和裝置。



背景技術(shù):

目前例如智能手機(jī)的智能終端上,用戶經(jīng)常需要通過網(wǎng)頁來和客戶端交互。比如點(diǎn)擊鏈接,可以進(jìn)入客戶端的某個頁面;利用提供的二維碼,掃描打開網(wǎng)頁后,可以拉起客戶端進(jìn)行相應(yīng)操作等。

傳統(tǒng)的網(wǎng)頁和本地客戶端應(yīng)用之間的交互方式是客戶端必須使用內(nèi)部瀏覽器組件才能進(jìn)行交互,這種傳統(tǒng)交互方式的局限性是:客戶端只能與內(nèi)部瀏覽器組件打開的網(wǎng)頁進(jìn)行交互,如果使用用戶安裝的第三方瀏覽器打開網(wǎng)頁,則交互無效,即客戶端無法與用第三方瀏覽器打開的網(wǎng)頁進(jìn)行交互。

因此,很需要一種客戶端與網(wǎng)頁交互的新方法來改善網(wǎng)頁和客戶端之間傳統(tǒng)交互方式的局限性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提供一種客戶端與網(wǎng)頁交互的方法和裝置,以改善上述問題。

本發(fā)明實(shí)施例提供了一種客戶端與網(wǎng)頁交互的方法,其包括:

客戶端基于Socket協(xié)議在智能終端本地指定端口并自動建立Socket本地監(jiān)聽服務(wù);

第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本向本地指定端口發(fā)出建立連接請求,在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口;

Socket本地監(jiān)聽服務(wù)監(jiān)聽到所述JavaScript腳本發(fā)出的建立連接請求后與之建立通信連接,接收和解析其發(fā)送的所述包含1個或多個命令參數(shù)的消息,根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作。

優(yōu)選的,該中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本發(fā)送的所述消息還可以包含:目標(biāo)地址。

優(yōu)選的,所述消息包含的命令參數(shù)和目標(biāo)地址是附加在所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址上,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本對所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址進(jìn)行解析而獲得,并且所述目標(biāo)地址對應(yīng)的網(wǎng)頁與所述中轉(zhuǎn)網(wǎng)頁相同或者不相同。

優(yōu)選的,第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁時,該中轉(zhuǎn)網(wǎng)頁上不顯示內(nèi)容或者顯示內(nèi)容。

本發(fā)明實(shí)施例還提供了一種客戶端與網(wǎng)頁交互的裝置,其包括:

第三方瀏覽器,用于根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本向本地指定端口發(fā)出建立連接請求,在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口;

客戶端,用于基于Socket協(xié)議在智能終端本地指定端口并自動建立Socket本地監(jiān)聽服務(wù),該Socket本地監(jiān)聽服務(wù)監(jiān)聽到所述JavaScript腳本發(fā)出的建立連接請求后與之建立通信連接,接收和解析其發(fā)送的所述包含1個或多個命令參數(shù)的消息,根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作。

優(yōu)選的,該中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本發(fā)送的所述消息還可以包含:目標(biāo)地址。

優(yōu)選的,所述消息包含的命令參數(shù)和目標(biāo)地址是附加在所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址上,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本對所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址進(jìn)行解析而獲得,并且所述目標(biāo)地址對應(yīng)的網(wǎng)頁與所述中轉(zhuǎn)網(wǎng)頁相同或者不相同。

優(yōu)選的,第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁時,該中轉(zhuǎn)網(wǎng)頁上不顯示內(nèi)容或者顯示內(nèi)容。

根據(jù)本發(fā)明的一種客戶端與網(wǎng)頁交互的方法和裝置,通過建立Socket本地監(jiān)聽服務(wù),實(shí)現(xiàn)了客戶端與第三方瀏覽器打開的網(wǎng)頁進(jìn)行交互的目的,改善了網(wǎng)頁和客戶端之間傳統(tǒng)交互方式的局限性。通過在中轉(zhuǎn)網(wǎng)頁上設(shè)置JavaScript腳本向本地指定端口發(fā)送消息來喚起客戶端執(zhí)行預(yù)設(shè)的操作,提高了客戶端功能的分享和傳播的社交性。通過采用私有的交互通信協(xié)議的方式,可以精準(zhǔn)喚起指定客戶端執(zhí)行預(yù)設(shè)的操作,避免了具有相同功能的客戶端之間同時做相同的操作或是因爭搶資源發(fā)生沖突,為資源提供方選擇合適的應(yīng)用客戶端提供了可行方案,而且提高了用戶的體驗(yàn)感。

附圖說明

圖1是本發(fā)明實(shí)施例提供的客戶端與網(wǎng)頁交互的方法的流程圖;

圖2是本發(fā)明實(shí)施例提供的客戶端與網(wǎng)頁交互的裝置的示意性框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例和附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1是本發(fā)明實(shí)施例提供的客戶端與網(wǎng)頁交互的方法的流程圖。如圖1所示,本發(fā)明的客戶端與網(wǎng)頁交互的方法包括以下步驟:

S1:客戶端基于Socket協(xié)議在智能終端本地指定端口并自動建立Socket本地監(jiān)聽服務(wù)。

所述智能終端為具有運(yùn)算能力和操作系統(tǒng)的硬件設(shè)備,例如熟知的平板電腦、安卓系統(tǒng)或IOS系統(tǒng)的手機(jī)等,也可以是計算機(jī)硬件。建立Socket本地監(jiān)聽服務(wù)有多種方式,幾乎每種編程語言都有基本API接口來建立Socket服務(wù),例如Java語言使用ServerSocket類建立Socket本地監(jiān)聽服務(wù)、C類語言使用Socket關(guān)鍵字并調(diào)用bind接口建立Socket本地監(jiān)聽服務(wù)等,例如指定一個固定的端口,如8888端口,客戶端在該8888端口建立起Socket本地監(jiān)聽服務(wù),這是本領(lǐng)域技術(shù)人員熟知的常規(guī)技術(shù),這里不做過多介紹建立Socket本地監(jiān)聽服務(wù)的具體實(shí)現(xiàn)方法。

建立Socket本地監(jiān)聽服務(wù)的時機(jī)可以采用靈活方式,可以在客戶端啟動時自動建立,也可以某個預(yù)定觸發(fā)事件發(fā)生時自動建立。例如在安卓系統(tǒng)下,當(dāng)啟動某個客戶端時,例如PP助手,可以使用Java語言中的ServerSocket(int port)創(chuàng)建一個Socket通信服務(wù)器,然后調(diào)用accept()監(jiān)聽請求的到來。

S2:第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本向本地指定端口發(fā)出建立連接請求,在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口。

這里所述的第三方瀏覽器為用戶在智能終端上安裝的瀏覽器,例如市場常見的UC瀏覽器、QQ瀏覽器、360瀏覽器、百度瀏覽器等。第三方瀏覽器根據(jù)請求打開一個網(wǎng)頁,例如即時通信客戶端里發(fā)送的網(wǎng)頁鏈接地址被用戶點(diǎn)擊,從而啟動第三方瀏覽器打開鏈接地址對應(yīng)的網(wǎng)頁,或者用戶使用智能終端掃描二維碼后啟動第三方瀏覽器打開二維碼所提供的網(wǎng)頁地址對應(yīng)的網(wǎng)頁。在本發(fā)明里,第三方瀏覽器打開請求的網(wǎng)頁時,該網(wǎng)頁頁面需要有JavaScript執(zhí)行腳本,通過JavaScript執(zhí)行腳本應(yīng)用JavaScript標(biāo)準(zhǔn)的網(wǎng)頁端通信Api,例如Ajax或WebSocket等先與本地指定端口建立連接,在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口。具體的,第三方瀏覽器根據(jù)請求打開的網(wǎng)頁為帶有JavaScript腳本的中轉(zhuǎn)網(wǎng)頁,通過該JavaScript執(zhí)行腳本向本地指定端口發(fā)出建立連接請求,并且在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口。該第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁時,該中轉(zhuǎn)網(wǎng)頁上不顯示內(nèi)容或者顯示內(nèi)容。所述中轉(zhuǎn)網(wǎng)頁上不顯示內(nèi)容時,即中轉(zhuǎn)網(wǎng)頁為空白頁面,頁面上沒有可顯示的內(nèi)容,其目的是減少終端為了顯示頁面內(nèi)容而執(zhí)行例如訪問、數(shù)據(jù)獲取、頁面渲染等操作,減少運(yùn)行資源的消耗。在中轉(zhuǎn)網(wǎng)頁需要顯示內(nèi)容的應(yīng)用場景中,顯示內(nèi)容的用途可以是多樣的,例如可以向用戶顯示廣告內(nèi)容、也可以向用戶顯示合作商家的網(wǎng)站首頁或者促銷活動的頁面等等。打開所述中轉(zhuǎn)網(wǎng)頁的目的是:通過在該網(wǎng)頁上建立的知道通信協(xié)議的JavaScript腳本來解析出所需要的命令參數(shù),將該命令參數(shù)發(fā)到本地指定端口。

所述命令參數(shù)可以是讓客戶端操作的任意命令,例如:命令本地客戶端打開其內(nèi)部設(shè)置的頁面的命令;命令客戶端播放終端設(shè)備上保存的音頻或視頻文件的命令等。

在一個優(yōu)選實(shí)施例中,該中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本發(fā)送的所述消息還可以包含:目標(biāo)地址。包含目標(biāo)地址的目的是讓客戶端對該目標(biāo)命令進(jìn)行操作,例如讓音頻客戶端播放目標(biāo)地址上的音頻文件等。后面將會講到客戶端將根據(jù)命令參數(shù)對目標(biāo)地址執(zhí)行預(yù)設(shè)的操作。

所述消息包含的命令參數(shù)和目標(biāo)地址是附加在所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址上,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本對所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址進(jìn)行解析而獲得,并且所述目標(biāo)地址對應(yīng)的網(wǎng)頁與所述中轉(zhuǎn)網(wǎng)頁相同或者不相同。具體的,所述1個或多個命令參數(shù)可以在中轉(zhuǎn)網(wǎng)頁地址的尾部。當(dāng)還有目標(biāo)地址時,目標(biāo)地址跟隨最后一個命令參數(shù)的后面,例如:http://www.abc.com?type=0&url=http://www.efg.com。當(dāng)然,這種格式僅僅是出于舉例說明的目的,還可以使用通信協(xié)議里協(xié)商的任何其他格式。所述中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本利用通信協(xié)議解析出中轉(zhuǎn)網(wǎng)頁地址上附帶的1個或多個命令參數(shù)和目標(biāo)地址。由于請求打開的網(wǎng)頁為中轉(zhuǎn)網(wǎng)頁,可以為空白頁,也可以顯示特定目的的內(nèi)容,所以大多數(shù)情況下所述目標(biāo)地址對應(yīng)的網(wǎng)頁與打開的中轉(zhuǎn)網(wǎng)頁不相同,但在某些應(yīng)用場景中也可以相同。例如,淘寶網(wǎng)的某家店方希望用戶參加它的促銷活動,可以通過掃描二維碼參加活動的方式,將促銷活動頁面地址作為中轉(zhuǎn)網(wǎng)頁地址,而附帶的目標(biāo)地址也為相同的促銷活動頁面地址,命令參數(shù)為打開網(wǎng)頁。當(dāng)用戶使用智能終端(如智能手機(jī))掃描所述二維碼時啟動終端上安裝的第三方瀏覽器打開并顯示該促銷活動頁面,并且在后面將要講述的步驟中將喚起淘寶客戶端打開目標(biāo)地址,也就是在淘寶客戶端顯示該促銷活動頁面。

所述中轉(zhuǎn)網(wǎng)頁可以由需求方設(shè)置,如所舉例子中的淘寶網(wǎng)的某家店方,也可以由服務(wù)提供方設(shè)置,如本發(fā)明的申請人。所需要的是:要在該中轉(zhuǎn)網(wǎng)頁上建立有JavaScript腳本,該JavaScript腳本需要知道通信協(xié)議,這樣才能從所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址中解析出命令參數(shù)以及基于目的可能還會有的目標(biāo)地址,并將命令參數(shù)和目標(biāo)地址發(fā)送到本地指定端口。

S3:Socket本地監(jiān)聽服務(wù)監(jiān)聽到所述JavaScript腳本發(fā)出的建立連接請求后與之建立通信連接,接收和解析其發(fā)送的所述包含1個或多個命令參數(shù)的消息,根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作。

Socket本地監(jiān)聽服務(wù)監(jiān)聽到所述中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本向本地指定端口發(fā)出的建立連接請求后,與之建立通信連接,接收該JavaScript腳本發(fā)送的消息內(nèi)容,根據(jù)通信協(xié)議解析該消息內(nèi)容,由此得到命令參數(shù),根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作。例如,命令參數(shù)是使用音頻播放器播放本地音樂,則喚起智能終端上安裝的音頻播放器客戶端去播放該終端上保存的音頻文件,例如可以指示音頻播放器按其記錄的播放列表進(jìn)行播放,或者可以指示音頻播放器掃描終端上保存的音頻文件然后播放等。

在一個優(yōu)選實(shí)施例中,接收的消息中還包含目標(biāo)地址,則根據(jù)命令參數(shù)喚起相應(yīng)的客戶端對該目標(biāo)地址進(jìn)行預(yù)設(shè)的操作。例如,命令參數(shù)指定客戶端下載APP,目標(biāo)地址就是所述APP的下載鏈接地址,則根據(jù)命令參數(shù)喚起指定客戶端(例如PP助手)訪問目標(biāo)地址,執(zhí)行下載相應(yīng)的APP。例如,設(shè)Socket本地監(jiān)聽服務(wù)接收的來自中轉(zhuǎn)網(wǎng)頁上的所述JavaScript腳本發(fā)送的消息為:type=0&action=0&url=“abc.com/aa.apk”,在命令參數(shù)type=0表示打開目標(biāo)網(wǎng)址的網(wǎng)頁、action=0表示執(zhí)行下載操作時,則指定客戶端訪問網(wǎng)址abc.com/aa.apk和下載abc.com/aa.apk的內(nèi)容。

根據(jù)本發(fā)明的上述方法,通過建立Socket本地監(jiān)聽服務(wù),實(shí)現(xiàn)了客戶端與第三方瀏覽器打開的網(wǎng)頁進(jìn)行交互的目的,改善了網(wǎng)頁和客戶端之間傳統(tǒng)交互方式的局限性。通過在中轉(zhuǎn)網(wǎng)頁上設(shè)置JavaScript腳本向本地指定端口發(fā)送消息來喚起客戶端執(zhí)行預(yù)設(shè)的操作,提高了客戶端功能的分享和傳播的社交性。

在一個優(yōu)選實(shí)施例中,所述1個或多個命令參數(shù)是通過預(yù)先建立的私有的交互通信協(xié)議來確定其格式和含義。另外,附帶有1個或多個命令參數(shù)和目標(biāo)地址的中轉(zhuǎn)網(wǎng)頁地址的格式是通過預(yù)先建立的私有的交互通信協(xié)議來確定。例如,服務(wù)提供方提供含有本發(fā)明的方法或裝置的服務(wù)產(chǎn)品時會預(yù)先建立私有的交互通信協(xié)議來確定命令參數(shù)的格式和含義、以及中轉(zhuǎn)網(wǎng)頁地址中所包含內(nèi)容的格式。這樣,需求方可以根據(jù)服務(wù)提供方提供的私有的交互通信協(xié)議,在所提供的中轉(zhuǎn)網(wǎng)頁地址(鏈接地址)尾部加入1個或多個命令參數(shù),另外還可以在最后一個命令參數(shù)后面添加目標(biāo)地址。通過私有的交互通信協(xié)議,JavaScript腳本可以從中轉(zhuǎn)網(wǎng)頁地址中正確解析出命令參數(shù)和目標(biāo)地址,Socket本地監(jiān)聽服務(wù)也能夠正確解析出JavaScript腳本發(fā)來的命令參數(shù)和目標(biāo)地址,以便喚起客戶端根據(jù)命令對目標(biāo)地址執(zhí)行預(yù)設(shè)的操作。

在一個例子中,在用戶點(diǎn)擊鏈接地址時,通過步驟S2由第三方瀏覽器先打開該鏈接地址對應(yīng)的中轉(zhuǎn)網(wǎng)頁,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本與本地指定端口建立通信連接,然后JavaScript腳本將解析出來的1個或多個命令參數(shù)和根據(jù)需要可能還會有的目標(biāo)地址發(fā)送到本地指定端口;在步驟S3中由Socket本地監(jiān)聽服務(wù)根據(jù)私有的交互通信協(xié)議將收到的消息進(jìn)行解析,喚起相應(yīng)的客戶端根據(jù)命令參數(shù)進(jìn)行對應(yīng)的操作,或者對目標(biāo)地址執(zhí)行預(yù)設(shè)的操作。這里的命令參數(shù)格式和含義是通過私有的交互通信協(xié)議來確定的,這樣避免了具有相同功能的客戶端之間同時做相同的操作或是因爭搶資源發(fā)生沖突。例如,命令參數(shù)為下載APP,目標(biāo)地址為APP下載地址,用戶使用的智能移動終端(如手機(jī))上同時安裝了PP助手客戶端、QQ應(yīng)用寶客戶端和360手機(jī)助手客戶端,如果JavaScript腳本發(fā)送的消息所包含的命令參數(shù)和目標(biāo)地址不是遵循私有的交互通信協(xié)議,而是遵循公知的通用通信協(xié)議,會造成這3個客戶端同時讀取APP下載地址并執(zhí)行下載APP的行為,這將帶來不必要的流量浪費(fèi)、存儲空間的占用、以及運(yùn)行資源的消耗。通過私有的交互通信協(xié)議,APP下載地址的提供方能夠指定某一客戶端執(zhí)行下載任務(wù),例如APP下載地址的提供方認(rèn)為PP助手的使用量最大,指定使用PP助手下載,這樣用戶點(diǎn)擊了包含該APP下載地址和命令參數(shù)(下載命令和指定命令)的鏈接地址后,根據(jù)本發(fā)明提供的方法就會喚起PP助手執(zhí)行下載相應(yīng)的APP。再如,用戶點(diǎn)擊的鏈接地址包含了音頻播放命令和音頻播放地址,該用戶使用的智能移動終端(如手機(jī))上同時安裝了2種以上的音頻播放器客戶端,如終端自帶的音頻播放器、用戶安裝的酷我音樂客戶端和酷狗音樂客戶端,當(dāng)不使用私有的交互通信協(xié)議時,發(fā)送到本地指定端口的音頻播放地址和播放命令參數(shù)會被Socket本地監(jiān)聽服務(wù)發(fā)送給這三個音頻播放器客戶端,造成三個音頻播放器客戶端都要播放音頻,又因?yàn)閾寠Z資源而不會同步播放,用戶會聽到三個聲音在播放,只能手動關(guān)閉其中2個音頻播放器,這樣的體驗(yàn)感不佳;嚴(yán)重時,因爭搶資源發(fā)生沖突,還會造成終端死機(jī)現(xiàn)象。而采用私有的交互通信協(xié)議來確定命令參數(shù),可以由需求方,例如鏈接地址的提供方指定期望的音頻客戶端來執(zhí)行音頻播放。這對于音頻或視頻廣告商的合作與投放大有益處。

另外,根據(jù)私有的交互通信協(xié)議還可以根據(jù)需要任意設(shè)置1個或多個命令參數(shù),例如采用type或者type&action的方式,其中type表示執(zhí)行的操作;或者,type表示打開網(wǎng)頁,action表示打開網(wǎng)頁后執(zhí)行的操作。例如,通過私有的交互通信協(xié)議,設(shè)定type=0表示打開目標(biāo)網(wǎng)址的網(wǎng)頁等,action=0表示執(zhí)行下載操作、action=1表示執(zhí)行支付操作、action=2表示執(zhí)行播放音頻操作、action=3表示執(zhí)行播放視頻操作、action=4表示執(zhí)行圖片瀏覽操作等,這里僅僅是列舉而非窮舉,任何通過客戶端可執(zhí)行的操作都可以在私有的交互通信協(xié)議中設(shè)置相應(yīng)的命令參數(shù);同樣的,也可以對type參數(shù)設(shè)置不同值來實(shí)現(xiàn)不同功能。這里通過舉例來說明命令參數(shù)的格式和含義,但是本領(lǐng)域技術(shù)人員都知道,還可以采用其它表達(dá)方式的命令參數(shù),只要在私有的交互通信協(xié)議中對命令參數(shù)的內(nèi)容作了統(tǒng)一定義即可。

下面通過一個具體實(shí)例來進(jìn)行說明。

預(yù)先建立私有的交互通信協(xié)議,確定命令參數(shù)的格式和含義、以及鏈接地址的格式等,可以由服務(wù)提供方預(yù)先設(shè)置該通信協(xié)議。當(dāng)用戶操作智能移動終端,如智能手機(jī)時,客戶端基于Socket協(xié)議在智能移動終端本地指定端口(例如8888)并自動建立Socket本地監(jiān)聽服務(wù)。第三方瀏覽器打開用戶通過點(diǎn)擊鏈接地址或掃描二維碼等方式而請求的中轉(zhuǎn)網(wǎng)頁時,該中轉(zhuǎn)網(wǎng)頁上的JavaScript執(zhí)行腳本例如使用WebSocket技術(shù),新建一個WebSocket對象,通過WebSocket對象建立與本地指定端口8888的連接,假設(shè)智能手機(jī)的本地端IP地址是固定的127.0.0.1,則向本地指定端口127.0.0.1:8888發(fā)送建立連接請求,使用onOpen接口來監(jiān)聽通信連接成功。監(jiān)聽到連接成功后,通過WebSocket對象的send()接口,將預(yù)定的消息發(fā)送到本地指定端口8888,該消息包含了該JavaScript腳本解析的命令參數(shù)(例如type=0&action=1)和根據(jù)需要可能還會有的目標(biāo)地址。Socket本地監(jiān)聽服務(wù)監(jiān)聽到中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本發(fā)出的建立連接請求后與之建立通信連,接收該JavaScript腳本發(fā)送的預(yù)定的消息,根據(jù)預(yù)先建立私有的交互通信協(xié)議解析該消息內(nèi)容,得到命令參數(shù)和根據(jù)需要可能還會有的目標(biāo)地址,根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作,或者對目標(biāo)地址進(jìn)行預(yù)設(shè)的操作。例如,淘寶網(wǎng)的某家店方發(fā)起促銷活動,在公共平臺上發(fā)出促銷廣告及其鏈接地址或者含有該鏈接地址的二維碼,該鏈接地址的格式符合預(yù)先建立的私有的交互通信協(xié)議。感興趣的用戶用智能手機(jī)點(diǎn)擊鏈接地址或者掃描二維碼,啟動手機(jī)里安裝的第三方瀏覽器打開鏈接地址對應(yīng)的網(wǎng)頁(即中轉(zhuǎn)網(wǎng)頁),該中轉(zhuǎn)網(wǎng)頁可以由服務(wù)提供方設(shè)置,也可以由需求方(淘寶網(wǎng)上發(fā)起促銷活動的店方)設(shè)置,并且可以是空白網(wǎng)頁,也可以是店方發(fā)布的促銷活動的網(wǎng)頁或其它,但該中轉(zhuǎn)網(wǎng)頁上需要有JavaScript腳本,通過該JavaScript腳本先請求與本地指定端口8888建立連接,然后發(fā)送包含1個或多個命令參數(shù)和目標(biāo)地址(例如顯示促銷活動的網(wǎng)頁地址)的消息到本地指定端口8888,由Socket本地監(jiān)聽服務(wù)接收和解析該消息,進(jìn)而喚起淘寶客戶端,該淘寶客戶端根據(jù)目標(biāo)地址打開相應(yīng)的促銷活動網(wǎng)頁。假設(shè)促銷活動就是銷售一款特價商品,如冰箱,則命令參數(shù)可以設(shè)定2個:1是打開目標(biāo)地址的網(wǎng)頁,2是進(jìn)入支付網(wǎng)頁,這樣淘寶客戶端就能夠先打開顯示促銷活動的網(wǎng)頁,然后自動進(jìn)入到支付頁面,這樣完成了預(yù)設(shè)的操作。

根據(jù)本發(fā)明提供的客戶端與網(wǎng)頁交互的方法,通過建立Socket本地監(jiān)聽服務(wù),實(shí)現(xiàn)了客戶端與第三方瀏覽器打開的網(wǎng)頁進(jìn)行交互的目的,改善了網(wǎng)頁和客戶端之間傳統(tǒng)交互方式的局限性。通過在中轉(zhuǎn)網(wǎng)頁上設(shè)置JavaScript腳本向本地指定端口發(fā)送消息來喚起客戶端執(zhí)行預(yù)設(shè)的操作,提高了客戶端功能的分享和傳播的社交性。通過采用私有的交互通信協(xié)議的方式,可以精準(zhǔn)喚起指定客戶端執(zhí)行預(yù)設(shè)的操作,避免了具有相同功能的客戶端之間同時做相同的操作或是因爭搶資源發(fā)生沖突,為資源提供方選擇合適的應(yīng)用客戶端提供了可行方案,而且提高了用戶的體驗(yàn)感。

圖2是本發(fā)明實(shí)施例提供的客戶端與網(wǎng)頁交互的裝置的示意性框圖。如圖2所示,本發(fā)明的客戶端與網(wǎng)頁交互的裝置包括:

第三方瀏覽器,用于根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本向本地指定端口發(fā)出建立連接請求,在連接建立后發(fā)送包含1個或多個命令參數(shù)的消息到該本地指定端口;

客戶端,用于基于Socket協(xié)議在智能終端本地指定端口并自動建立Socket本地監(jiān)聽服務(wù),該Socket本地監(jiān)聽服務(wù)監(jiān)聽到所述JavaScript腳本發(fā)出的建立連接請求后與之建立通信連接,接收和解析其發(fā)送的所述包含1個或多個命令參數(shù)的消息,根據(jù)命令參數(shù)喚起相應(yīng)的客戶端進(jìn)行預(yù)設(shè)的操作。

其中該中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本發(fā)送的所述消息還可以包含:目標(biāo)地址。

例如,假設(shè)所述消息為:type=1&action=0&url=“abc.com/aa.apk”,在命令參數(shù)type=1表示訪問目標(biāo)網(wǎng)址的網(wǎng)頁、action=0表示執(zhí)行下載操作時,則指定客戶端訪問網(wǎng)址abc.com/aa.apk和下載abc.com/aa.apk的內(nèi)容。

其中所述消息包含的命令參數(shù)和目標(biāo)地址是附加在所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址上,通過中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本對所述中轉(zhuǎn)網(wǎng)頁的網(wǎng)址進(jìn)行解析而獲得,并且所述目標(biāo)地址對應(yīng)的網(wǎng)頁與所述中轉(zhuǎn)網(wǎng)頁相同或者不相同。

其中第三方瀏覽器根據(jù)請求打開中轉(zhuǎn)網(wǎng)頁時,該中轉(zhuǎn)網(wǎng)頁上不顯示內(nèi)容或者顯示內(nèi)容。

在一個優(yōu)選實(shí)施例中,所述1個或多個命令參數(shù)是通過預(yù)先建立的私有的交互通信協(xié)議來確定其格式和含義。所述命令參數(shù)作用和使用方法與上述方法實(shí)施例中詳細(xì)描述的內(nèi)容相同。

在一個優(yōu)選實(shí)施例中,附帶有1個或多個命令參數(shù)和目標(biāo)地址的中轉(zhuǎn)網(wǎng)頁地址的格式是通過預(yù)先建立的私有的交互通信協(xié)議來確定。

在一個優(yōu)選實(shí)施例中,中轉(zhuǎn)網(wǎng)頁上的JavaScript腳本知道通信協(xié)議或者預(yù)先建立的私有的交互通信協(xié)議。

在一個優(yōu)選實(shí)施例中,私有的交互通信協(xié)議是由服務(wù)提供方預(yù)先建立的,由此確定命令參數(shù)的格式和含義、以及中轉(zhuǎn)網(wǎng)頁地址中所包含內(nèi)容的格式。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,前述方法實(shí)施例中列舉的例子和相關(guān)描述,同樣適用于解釋裝置的工作過程,在此不再重復(fù)描述。

根據(jù)本發(fā)明提供的客戶端與網(wǎng)頁交互的裝置,通過建立Socket本地監(jiān)聽服務(wù),實(shí)現(xiàn)了客戶端與第三方瀏覽器打開的網(wǎng)頁進(jìn)行交互的目的,改善了網(wǎng)頁和客戶端之間傳統(tǒng)交互方式的局限性。通過在中轉(zhuǎn)網(wǎng)頁上設(shè)置JavaScript腳本向本地指定端口發(fā)送消息來喚起客戶端執(zhí)行預(yù)設(shè)的操作,提高了客戶端功能的分享和傳播的社交性。通過采用私有的交互通信協(xié)議的方式,可以精準(zhǔn)喚起指定客戶端執(zhí)行預(yù)設(shè)的操作,避免了具有相同功能的客戶端之間同時做相同的操作或是因爭搶資源發(fā)生沖突,為資源提供方選擇合適的應(yīng)用客戶端提供了可行方案,而且提高了用戶的體驗(yàn)感。

本發(fā)明實(shí)施例所提供的客戶端與網(wǎng)頁交互的方法的計算機(jī)程序產(chǎn)品,包括存儲了程序代碼的計算機(jī)可讀存儲介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。

所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),智能平板電腦,智能手機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
奉节县| 江川县| 南召县| 睢宁县| 安乡县| 翼城县| 离岛区| 城市| 革吉县| 蓝山县| 济源市| 大荔县| 成安县| 客服| 泰兴市| 布拖县| 罗江县| 揭西县| 冕宁县| 琼海市| 绥阳县| 东源县| 介休市| 利津县| 盐边县| 会宁县| 宜春市| 中牟县| 崇左市| 宝丰县| 讷河市| 常熟市| 会东县| 易门县| 宁化县| 石阡县| 东安县| 盘山县| 福建省| 绥滨县| 佛教|