- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用新的 API WebExtension 将 Chrome 扩展转换为 Firefox。
除了在网页中使用 chrome.runtime.sendMessage() 之外,一切正常。目标是与插件通信并传递一些数据。
为此,我正在使用此处编写的属性“externally_connectable”:can-a-site-invoke-a-browser-extension
背景.js
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
sendResponse({
success: true,
message: 'ok'
});
return true; // Bug chrome, close channel otherwise
});
在网页中
chrome.runtime.sendMessage(EXTENSION_ID, {type: 'show', data: 'test'}, function(response) {
if (response.success && !response.success) {
console.log(response.message);
}
});
在 chrome 中,通信正常,但在 Firefox 中,网页中执行的代码不起作用:“chrome 未定义”。
是否有另一个 var 可以用来代替“chrome”或者它没有实现?
我在网上找不到任何相关信息:( 谢谢
最佳答案
Web 扩展不支持 externally_connectable 网站脚本,但您可以在网站脚本和扩展脚本之间进行通信,如本例所示 https://github.com/mdn/webextensions-examples/tree/master/page-to-extension-messaging
关于firefox-addon - externally_connectable 和 Firefox WebExtensions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487552/
我正在尝试使用新的 API WebExtension 将 Chrome 扩展转换为 Firefox。 除了在网页中使用 chrome.runtime.sendMessage() 之外,一切正常。目标是
似乎允许网站与扩展程序通信的 externally_connectable 功能仍处于开发 channel 中,并且还不稳定。在我等待此功能稳定的同时,还有其他方法可以让特定网站与我的扩展程序通信吗?
我是一名优秀的程序员,十分优秀!