在打包应用程序中使用dojo 1.8(未捕获的卸载在打包应用程序中不可用)

2023-12-22

最终在将 dojo 与我的打包应用程序一起使用方面取得了一些进展之后,我遇到了另一个障碍,我找不到任何文档。

{
  ...
  "sandbox": {
     "pages": ["test.html"]
  },
  "app": {
    "background": {
      "scripts": [
        "background.js"
      ]
    }
  }
}

test.html 从应用程序加载 dojo 以及我的一些模块,但是当 dojo 解析页面的 dom 时,我收到 platformApp 抛出的错误

Uncaught unload is not available in packaged apps. platformApp:14
(anonymous function)                               platformApp:14
Window.addEventListener                            platformApp:127
addListener                                        dojo.js.uncompressed.js:15317
on.parse

我可以将任何 CSP 规则添加到沙箱中以使其正常工作吗?


我希望 chrome 默认情况下这样做而不是抛出错误......但这是我在加载 dojo 之前必须做的事情:

// Prevent registrations for unload/beforeunload and warn, chrome will throw exception.
(function() {
  var windowAddEventListener = Window.prototype.addEventListener;
  Window.prototype.addEventListener = function(type) {
    if (type === 'unload' || type === 'beforeunload') {
          try {
        throw new Error('Do not use Window.addEventListener for ' + type);
      } catch (e) {
        console.error(e.message, e);
      }
    } else
      return windowAddEventListener.apply(window, arguments);
  };
})();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在打包应用程序中使用dojo 1.8(未捕获的卸载在打包应用程序中不可用) 的相关文章

随机推荐