Google chrome extension 我的chrome扩展无法在Edge上工作
我有一段在chrome上运行良好的代码。我做了下面提到的步骤。 我能够正确加载它,但代码运行不正常。 在后台控制台中,仅打印url,其他控制台或警报不起作用。 如果您有任何帮助,我们将不胜感激!请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
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!!!它工作得很好…真的非常感谢你!!!不客气:)如果它能解决你的问题,你可以作为一个被接受的答案。完美!!!它工作得很好…真的非常感谢你!!!不客气:)如果它能解决你的问题,你可以作为一个公认的答案。