我无法弄清楚为什么我的代码在DEV环境中工作,为什么当我发布代码时它无法工作,并使我的Chrome扩展程序崩溃,并且有消息说我的扩展程序已损坏。
自从Chrome(73.0.3683.75)最新更新以来,我们无法在content.js中进行跨站点调用,因此我需要打开一个弹出窗口来执行我需要做的事情。
我从content.js调用background.js中的一个方法来打开弹出窗口。
Content.js
chrome.runtime.sendMessage(extensionID, { method: "CustomUpload",function(){
});
在我的background.js脚本中,我接到了电话并打开弹出窗口。
case "CustomUpload":
var w = window.open("/upload.html", "name", 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=350,height=250', false);
w.focus();
w.addEventListener("load", function () {
w.InitializeFileHelper();
}, true);
我不知道为什么,但是它在DEV中起作用而不是在生产中。我在哪里想念什么?
如果我激活开发者模式,我会得到“扩展名”并加载扩展名,解压后一切正常。 chrome有问题吗?
%userprofile%\AppData\Local\Google\Chrome\User Data\Default
我做了很多测试,并且总是遇到同样的问题。
我尝试
chrome.windows.create({ url: chrome.extension.getURL("upload.html")})
chrome.tabs.create({ url: chrome.extension.getURL("upload.html") });
window.open(chrome.extension.getURL("/upload.html"));
总是相同的结果,“在本地”可以正常工作,但是当它发布时停止工作并收到消息扩展可能已损坏。
我看到弹出窗口显示1毫秒,然后关闭,并且扩展件需要维修。
答案 0 :(得分:0)
我的问题是我的“ upload.html”文件中的图像。
我的图像在扩展名中,路径很好,但是当有图像时,chrome扩展名崩溃了。只需删除图像,扩展名即可正常工作。
特别感谢@wOxxOm的帮助。