我遇到了將數(shù)據從后臺腳本發(fā)送到我的腳本的問題pageAction。我的內容腳本添加了一個,<iframe />并且中的JavaScript <iframe />正在從我的后臺腳本接收數(shù)據,但是似乎未在中檢索到它pageAction。在我的后臺腳本中,我有類似以下內容:chrome.tabs.sendMessage(senderTab.tab.id, { foo:bar}); 我的后臺腳本senderTab.tab.id中的onMessage偵聽器中的“發(fā)送者”在哪里?在<iframe />內容腳本注入的JavaScript中,我有類似以下內容:chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { console.log("received in iframe:", request); } });在<iframe />完全按預期接收該消息。我將相同的JavaScript放入了page_action.js,但是它沒有從后臺腳本接收任何數(shù)據。chrome.pageAction.show(senderTab.tab.id);在我致電之前激活pageActionchrome.tabs.sendMessage(senderTab.tab.id ...附加到我的pageAction的HTML頁面不是同一選項卡的一部分嗎?由于這tabId使我能夠激活/“顯示”圖標,因此我認為pageAction的JavaScript中的偵聽器也應從chrome.tabs.sendMessage(senderTab.tab.id ...在內容腳本中,我使用以下命令將數(shù)據發(fā)送到后臺腳本:chrome.runtime.sendMessage({ foo: bar}); 當內容腳本發(fā)送上述消息時,pageAction JavaScript會將其拾取。如何獲取后臺腳本以將數(shù)據正確發(fā)送到pageAction?我不想有pageAction請求/投票,而是希望pageAction僅監(jiān)聽和接收。例如,如果顯示了pageAction HTML,它應該能夠在后臺頁面進行更改時實時更新。
在后臺上下文中的腳本之間進行通信(后臺腳本,瀏覽器操作,頁面操作,選項頁面等)
繁星點點滴滴
2019-10-21 15:00:22