国产探花免费观看_亚洲丰满少妇自慰呻吟_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.”。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定州市| 车致| 搜索| 平昌县| 会同县| 苍山县| 都昌县| 永寿县| 休宁县| 保德县| 依兰县| 宜兰市| 泰顺县| 巫山县| 永兴县| 乐陵市| 阿荣旗| 乳源| 东港市| 寿宁县| 徐州市| 沙洋县| 广宗县| 通州区| 深圳市| 金昌市| 鲁甸县| 庐江县| 崇州市| 富民县| 皋兰县| 山阳县| 孟连| 宁德市| 天等县| 辽阳县| 泉州市| 大名县| 兴化市| 获嘉县| 大理市|