Google chrome extension 我的chrome扩展无法在Edge上工作

Google chrome extension 我的chrome扩展无法在Edge上工作,google-chrome-extension,microsoft-edge,microsoft-edge-extension,Google Chrome Extension,Microsoft Edge,Microsoft Edge Extension,我有一段在chrome上运行良好的代码。我做了下面提到的步骤。 我能够正确加载它,但代码运行不正常。 在后台控制台中,仅打印url,其他控制台或警报不起作用。 如果您有任何帮助,我们将不胜感激!请 window.onload=function(){ 控制台日志(“blah1”); var port=browser.runtime.connect({name:“knockknock”}); port.postMessage({request:“sendData”}); port.onMessag

我有一段在chrome上运行良好的代码。我做了下面提到的步骤。 我能够正确加载它,但代码运行不正常。 在后台控制台中,仅打印url,其他控制台或警报不起作用。 如果您有任何帮助,我们将不胜感激!请

window.onload=function(){
控制台日志(“blah1”);
var port=browser.runtime.connect({name:“knockknock”});
port.postMessage({request:“sendData”});
port.onMessage.addListener(函数(msg){
控制台日志(“blah2”);
如果(msg!=null){
}
});
}
var sendData=null;
var url=null;
browser.webRequest.onBeforeRequest.addListener(函数(详细信息){
if(details!=null&&sendData==null&&details.url.includes(“www”)){
log(details.url);
sendData=details.url;
}
},
{URL:[“”]},
[“阻止”,“请求主体”]
);	
browser.runtime.onConnect.addListener(函数(端口){
log(“内部addListener”)
port.onMessage.addListener(函数(msg){
如果(msg.request==“sendData”){
日志(“sendData:,sendData”);
port.postMessage(sendData);
}else if(msg.answer==null){
sendData=null;
}
});

});我测试并发现,如果我们删除
window.onload
,那么扩展将在Edge Legacy中运行良好。会的

您可以将content.script设置为在
document\u idle
下运行。它等于
window.onload
,您不需要监听
window.onload
事件。有关更多详细信息,请参阅

我的manifest.json如下所示:

{
    "manifest_version": 2,
    "name": "test",
    "version": "1.0.0",
    "author": "medha",

    "icons": {
        "48": "esso.png"
    },

    "content_scripts": [
        {
            "matches": ["<all_urls>"],
            "run_at": "document_idle",
            "js": ["content.js"]
        }
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },

    "permissions": [ "webRequest", "webRequestBlocking", "webNavigation", "tabs", "<all_urls>", "storage"],

    "-ms-preload": {
      "backgroundScript": "backgroundScriptsAPIBridge.js",
      "contentScript": "contentScriptsAPIBridge.js"
    }
}
{
“清单版本”:2,
“名称”:“测试”,
“版本”:“1.0.0”,
“作者”:“medha”,
“图标”:{
“48”:“esso.png”
},
“内容脚本”:[
{
“匹配项”:[“”],
“运行时间”:“文件空闲”,
“js”:[“content.js”]
}
],
“背景”:{
“脚本”:[“background.js”],
“持久”:正确
},
“权限”:[“webRequest”、“webRequestBlocking”、“webNavigation”、“选项卡”、“存储”],
“-ms预加载”:{
“backgroundScript”:“backgroundScriptsAPIBridge.js”,
“contentScript”:“contentScriptsAPIBridge.js”
}
}

我测试发现,如果我们删除
window.onload
,那么扩展将在Edge Legacy中运行良好。会的

您可以将content.script设置为在
document\u idle
下运行。它等于
window.onload
,您不需要监听
window.onload
事件。有关更多详细信息,请参阅

我的manifest.json如下所示:

{
    "manifest_version": 2,
    "name": "test",
    "version": "1.0.0",
    "author": "medha",

    "icons": {
        "48": "esso.png"
    },

    "content_scripts": [
        {
            "matches": ["<all_urls>"],
            "run_at": "document_idle",
            "js": ["content.js"]
        }
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },

    "permissions": [ "webRequest", "webRequestBlocking", "webNavigation", "tabs", "<all_urls>", "storage"],

    "-ms-preload": {
      "backgroundScript": "backgroundScriptsAPIBridge.js",
      "contentScript": "contentScriptsAPIBridge.js"
    }
}
{
“清单版本”:2,
“名称”:“测试”,
“版本”:“1.0.0”,
“作者”:“medha”,
“图标”:{
“48”:“esso.png”
},
“内容脚本”:[
{
“匹配项”:[“”],
“运行时间”:“文件空闲”,
“js”:[“content.js”]
}
],
“背景”:{
“脚本”:[“background.js”],
“持久”:正确
},
“权限”:[“webRequest”、“webRequestBlocking”、“webNavigation”、“选项卡”、“存储”],
“-ms预加载”:{
“backgroundScript”:“backgroundScriptsAPIBridge.js”,
“contentScript”:“contentScriptsAPIBridge.js”
}
}

是否要将扩展部署到Edge Legacy?运行扩展时控制台中是否有错误?我不知道代码片段中的代码是什么。它们都属于
background.js
?如果我将代码放在
background.js
中,它将在控制台中记录
blah1
和url。请指定代码所属的位置以及预期的行为和。请尝试删除
window.onload
,后台脚本中不需要它。使用windows.onload的是我的content.js文件…下面有addListener的是我的background.js文件…我使用的是Microsoft Edge 44.18362.449.0 version@yuzhou是否要将扩展部署到Edge Legacy?运行扩展时控制台中是否有错误?我不知道代码片段中的代码是什么。它们都属于
background.js
?如果我将代码放在
background.js
中,它将在控制台中记录
blah1
和url。请指定代码所属的位置以及预期的行为和。请尝试删除
window.onload
,背景脚本中不需要它。使用windows.onload的是我的content.js文件…下面有addListener的是我的background.js文件…我使用的是Microsoft Edge 44.18362.449.0 version@YuZhouPerfect!!!它工作得很好…真的非常感谢你!!!不客气:)如果它能解决你的问题,你可以作为一个被接受的答案。完美!!!它工作得很好…真的非常感谢你!!!不客气:)如果它能解决你的问题,你可以作为一个公认的答案。