我有一個用戶在瀏覽器上安裝的Chrome擴展,當您打開擴展彈出窗口(後臺頁面)時,它只是加載運行在我的服務器上的整個應用程序後端。將消息發送回加載的iframe的Chrome擴展
我想要做的是在我的後端應用程序上有一些事件發送器,它可以將消息發送回加載此應用程序的chrome擴展。
我已經試過這樣:
background.html:
<body>
<iframe id="gateway" src="http://www.catchit.com"></iframe>
</body>
我發送郵件後臺頁面,說:www.catchit.com/message/send,其上點擊運行這樣的:
var event = new CustomEvent(
"newMessage",
{
detail: {
users: users,
message: message
},
bubbles: true,
cancelable: false
}
);
document.dispatchEvent(event);
我的內容腳本等待此事件:
document.addEventListener("newMessage", function(data) {
chrome.runtime.sendMessage(data);
});
我的背景劇本和:
chrome.runtime.onMessage.addListener(function(message) {
alert("message received" + message);
});
但是,當然,它不會工作......因爲,該事件被IFRAME上下文(www.servera.com)
什麼時許內發射我錯過了嗎?我無法弄清楚如何回覆消息。這將是真正的應用程序加載在擴展的彈出和擴展本身之間的一個真棒橋樑,它可以稍後將消息發送到在用戶瀏覽器上打開的網站。
感謝
可以[postmessage](https://developer.mozilla.org/en-US/ docs/Web/API/Window.postMessage)解決你的問題? – gonzalovazzquez
我的問題是內容腳本沒有加載iframe ..我不知道該怎麼做......我想是的。 – deb0rian