国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

(七)擴展頁面通信

2024-04-27 15:17:39
字體:
來源:轉載
供稿:網友

Chrome提供了4個有關擴展頁面間相互通信的接口,分別是runtime.sendMessageruntime.onMessageruntime.connectruntime.onConnect

Chrome提供的大部分API是不支持在 content_scripts 中運行的,但 runtime.sendMessageruntime.onMessage 可以在 content_scripts 中運行,所以擴展的其他頁面也可以同 content_scripts 相互通信。

runtime.sendMessage完整的方法為:

chrome.runtime.sendMessage(extensionId, message, options, callback)其中extensionId為所發送消息的目標擴展,如果不指定這個值,則默認為發起此消息的擴展本身message為要發送的內容,類型隨意,內容隨意,比如可以是’Hello’,也可以是{action: ‘play’}、2013和[‘Jim’, ‘Tom’, ‘Kate’]options為對象類型,包含一個值為布爾型的includeTlsChannelId屬性,此屬性的值決定擴展發起此消息時是否要將TLS通道ID發送給監聽此消息的外部擴展1,有關TLS的相關內容可以參考http://www.google.com/intl/zh-CN/chrome/browser/PRivacy/whitepaper.html#tls,這是有關加強用戶連接安全性的技術,如果這個參數你捉摸不透,不必理睬它,options是一個可選參數 -callback是回調函數,用于接收返回結果,同樣是一個可選參數。 此屬性僅在擴展和網頁間通信時才會用到。

runtime.onMessage完整的方法為:

chrome.runtime.onMessage.addListener(callback)

此處的callback為必選參數,為回調函數。callback接收到的參數有三個,分別是messagesendersendResponse,即消息內容、消息發送者相關信息和相應函數其中sender對象包含4個屬性,分別是tab、id、url和tlsChannelId,tab是發起消息的標簽為了進一步說明,下面舉一個例子。

在popup.html中執行如下代碼:

chrome.runtime.sendMessage('Hello', function(response){ document.write(response);});

在background中執行如下代碼:

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse){ if(message == 'Hello'){ sendResponse('Hello from background.'); }});

查看popup.html頁面會發現有輸出“Hello from background.”。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍梧县| 九江县| 高陵县| 靖宇县| 常熟市| 临邑县| 铜川市| 乌什县| 分宜县| 禄劝| 凉城县| 色达县| 永城市| 长海县| 安丘市| 梓潼县| 滦南县| 丹江口市| 莫力| 东乌珠穆沁旗| 姚安县| 镇坪县| 荔浦县| 涞水县| 米林县| 瑞安市| 湄潭县| 彰化市| 略阳县| 建瓯市| 太原市| 旌德县| 罗江县| 阳春市| 清镇市| 莱阳市| 泾源县| 吉安县| 洞口县| 定日县| 赤壁市|