在Firefox / Chrome WebExtension中,当您将消息从后台脚本发送到弹出窗口时,您不能使用tabId,因为弹出窗口没有一个。 因此,您必须使用:
chrome.runtime.sendMessage(data)
,但所有标签也都收到此消息。 我想向弹出窗口发送仅 消息。有可能吗?
答案 0 :(得分:1)
从技术上讲,这仅由扩展名的页面接收。普通标签不会接收它们,并且将消息发送到内容脚本需要您tabs.sendMessage
。
也就是说,您可以使用extension.getViews
获取弹出窗口的window
对象,然后直接在其中调用某些东西。
请参见https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/extension/getViews
var windows = chrome.extension.getViews({type: "popup"});
if (windows.length) {
windows[0].something();
}