gpt4 book ai didi

javascript - 边缘扩展 browser.runtime.sendmessage()

转载 作者:太空宇宙 更新时间:2023-11-04 16:09:06 25 4
gpt4 key购买 nike

尝试将扩展从 chrome 转换为 Edge,但我在使用监听器时遇到 browser.runtime.sendmessage() 问题。为了简化事情,我创建了一个简单的 hello world 扩展。这个新扩展适用于 Chrome,但不适用于 Edge。有人知道我需要改变什么吗?

ma​​nifest.json

{
"manifest_version": 2,
"name": "My Cool Extension",
"author" : "Sandbox",
"version": "0.1",
"content_scripts": [ {
"all_frames": true,
"js": [ "jquery-3.1.1.min.js", "content_script.js" ],
"matches": [ "http://*/*", "https://*/*", "file://*/*" ]
} ],
"permissions": [ "http://*/*", "https://*/*", "storage" ],
"background": {
"scripts": [
"jquery-3.1.1.min.js",
"background.js"
],
"persistent": true
}
}

背景.js

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log(request.greeting);
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
});

content_scripts.js

browser.runtime.sendMessage({greeting: "hello"}, function(response) {
if (response != undefined) {
console.log(response.farewell);
}
});

最佳答案

Edge 的正确语法可在此处找到:Edge Supported APIs

在注释部分:

For Microsoft Edge, all extension APIs are under the browser namespace, 
e.g. browser.browserAction.disable().
Microsoft Edge extension APIs use callbacks, not promises.

使用 browser.runtime.sendMessage() 而不是 chrome.runtime.sendMessage()。

关于javascript - 边缘扩展 browser.runtime.sendmessage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41642667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com