代码之家  ›  专栏  ›  技术社区  ›  Cédric Boivin

window.open in background.js在DEV中工作,不在PROD中

  •  0
  • Cédric Boivin  · 技术社区  · 6 年前

    我不明白为什么我的代码在开发环境中工作,当我发布我的代码时它不工作,并使我的Chrome扩展崩溃,一条消息说我的扩展已经损坏。

    内容.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);
    

    我不知道为什么,但它是在开发中工作而不是在生产中。我错过了什么?

    如果我激活developer模式,我会得到“extension”并加载extension解包一切正常工作。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 回复  |  直到 6 年前
        1
  •  0
  •   Cédric Boivin    6 年前

    我的问题是“upload.html”文件中的图像。

    特别感谢@wOxxOm的帮助。