从网页向 chrome 扩展程序发送消息

2023-11-26

我想从随机网页的控制台发送消息到我的 chrome 扩展程序。 chrome.extension.sendMessage 似乎不起作用。


根据官方文档你应该使用postMessage在发送者和message接收器中的事件监听器。

这是一个例子:

您网站的 page.html

var data = { type: "FROM_PAGE", text: "Hello from the webpage!" };
window.postMessage(data, "*");

内容脚本:(使用注入chrome.tabs.executeScript(tabid, {code:...)

window.addEventListener("message", function(event) {
    // We only accept messages from ourselves
    if (event.source != window)
        return;

    if (event.data.type && (event.data.type == "FROM_PAGE")) {
        console.log("Content script received message: " + event.data.text);
    }
});

Here page.html(不是扩展的一部分)向自身发布消息,这些消息由内容脚本拦截和检查。通过类似的方法也可以实现相反的效果。

要从内容脚本传递到扩展,您必须使用可用的消息传递技术之一.

它看起来很复杂,而且有些复杂,但所有这些胡言乱语都是非常安全的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从网页向 chrome 扩展程序发送消息 的相关文章

随机推荐