[發(fā)明專利]瀏覽器頁面實時通信的方法及裝置在審
| 申請?zhí)枺?/td> | 201810854524.5 | 申請日: | 2018-07-30 |
| 公開(公告)號: | CN110781009A | 公開(公告)日: | 2020-02-11 |
| 發(fā)明(設(shè)計)人: | 賈少騰 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;H04L29/08 |
| 代理公司: | 11449 北京成創(chuàng)同維知識產(chǎn)權(quán)代理有限公司 | 代理人: | 范芳茗;劉靜 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 主線程 工作線程 瀏覽器頁面 實時通信 計算機可讀存儲介質(zhì) 發(fā)送消息 消息執(zhí)行 轉(zhuǎn)發(fā) 關(guān)聯(lián) 通信 | ||
本發(fā)明實施例提供一種瀏覽器頁面實時通信的方法,包括:建立和多個瀏覽器頁面關(guān)聯(lián)的多個主線程以及一個工作線程;所述多個主線程之一向所述工作線程發(fā)送消息;所述工作線程將接收到的消息分別發(fā)送給所述多個主線程的至少一個主線程;以及所述多個主線程的至少一個主線程根據(jù)所述消息執(zhí)行相應(yīng)的操作。通過工作線程轉(zhuǎn)發(fā)從主線程接收到的消息,實現(xiàn)了多個主線程之間的通信,從而實現(xiàn)了多個瀏覽器頁面之間的實時通信。本發(fā)明實施例同時提供對應(yīng)的裝置和計算機可讀存儲介質(zhì)。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種瀏覽器頁面實時通信的方法及裝置。
背景技術(shù)
目前瀏覽器頁面的實時通信的技術(shù)方案主要包括以下三種實現(xiàn)方式。
第一種技術(shù)方案通過在標簽iframe并采用HTML5的postMessage方法實現(xiàn)頁面之間的實時通信。在本方案中,子頁面由父頁面執(zhí)行window.open()方法打開,且子頁面必須通過iframe嵌套在主頁面內(nèi)部,實時通信局限在子頁面和主頁面之間,不能和用戶主動打開的瀏覽器的任意新頁面進行通信,從而并未真正實現(xiàn)多瀏覽器頁面的實時通信。
第二種方案通過在每個頁面監(jiān)聽WebStroage數(shù)據(jù)變化實現(xiàn)。在本方案中,瀏覽器頁面采用HTML5的WebStorage技術(shù)進行本地特定數(shù)據(jù)的存儲,當WebStorage數(shù)據(jù)后,其他頁面可通過監(jiān)聽onstorage事件,判斷出數(shù)據(jù)的變化,以此實現(xiàn)不同頁面的數(shù)據(jù)同步。本方案的缺點是產(chǎn)生冗余數(shù)據(jù),并且WebStorage的處理邏輯和瀏覽器解析JavaScript、UI渲染共用主線程,如果主線程阻塞,該處理邏輯也將阻塞不執(zhí)行。同理,如果WebStorage的處理邏輯出現(xiàn)錯誤或阻塞,同樣也會瀏覽器解析JavaScript、UI渲染等步驟,進而影響頁面的展示。
第三種方案是通過頁面進行Ajax輪詢或websocket通信實現(xiàn)。本方案的缺點是需要服務(wù)器配合實現(xiàn),由此受到網(wǎng)絡(luò)環(huán)境的影響,并沒有做到“實時”通信,而且由于需要與服務(wù)器進行數(shù)據(jù)交互,會消耗大量的服務(wù)器資源和網(wǎng)絡(luò)帶寬,進而影響頁面的交互流暢度。
綜上,發(fā)明人認為,以上三種WEB端實時通信的技術(shù)方案都各有弊端,因此有必要提供一種更加高效的瀏覽器頁面實時通信的技術(shù)方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種更加高效的瀏覽器頁面實時通信的方法及裝置,通過主線程和工作線程的交互,實現(xiàn)了多個瀏覽器頁面的實時通信,解決了現(xiàn)有的技術(shù)方案中存在的弊端。
根據(jù)本發(fā)明實施例的第一方面,提供一種瀏覽器頁面實時通信的方法,包括:
建立和多個瀏覽器頁面關(guān)聯(lián)的多個主線程以及一個工作線程;
所述多個主線程之一向所述工作線程發(fā)送消息;以及
所述工作線程將接收到的消息分別發(fā)送給所述多個主線程的至少一個主線程。
優(yōu)選地,所述所述至少一個主線程根據(jù)所述消息執(zhí)行相應(yīng)的操作。
優(yōu)選地,所述多個主線程檢測在所述多個瀏覽器頁面顯示的特定數(shù)據(jù),當所述多個主線程之一檢測到所述特定數(shù)據(jù)發(fā)生變化時,向所述工作線程發(fā)送消息。
優(yōu)選地,所述消息包含所述特定數(shù)據(jù)的變化數(shù)值,所述多個主線程的至少一個主線程根據(jù)所述消息執(zhí)行相應(yīng)的操作包括:根據(jù)所述變化數(shù)值修改所述特定數(shù)據(jù)。
優(yōu)選地,所述多個主線程之一檢測到特定數(shù)據(jù)發(fā)生變化包括:
當一個瀏覽器頁面上展示的所述特定數(shù)據(jù)被用戶修改時,相應(yīng)的主線程檢測到所述特定數(shù)據(jù)發(fā)生變化。
優(yōu)選地,所述多個瀏覽器頁面包含購物車,所述特定數(shù)據(jù)為購物車數(shù)據(jù)。
優(yōu)選地,所述多個瀏覽器頁面為同一個瀏覽器打開,所述建立多個主線程和一個工作線程包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810854524.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





