Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 卸载在沙盒Chrome应用程序中不可用_Javascript_Google Chrome_Dojo_Google Chrome Extension_Google Chrome App - Fatal编程技术网

Javascript 卸载在沙盒Chrome应用程序中不可用

Javascript 卸载在沙盒Chrome应用程序中不可用,javascript,google-chrome,dojo,google-chrome-extension,google-chrome-app,Javascript,Google Chrome,Dojo,Google Chrome Extension,Google Chrome App,我正在使用Dijit(Dojo Toolkit)在沙盒页面中生成HTML布局,但每次我调用Dijit文件时,我得到的未捕获卸载在打包的应用程序中不可用。 现在我不确定这是Dojo的问题还是Chrome的新安全策略的局限性 我的文件: /** manifest.json **/ { "name": "Hello App", "version": "2.0", "manifest_version": 2, "description": "A app that says hello",

我正在使用Dijit(Dojo Toolkit)在沙盒页面中生成HTML布局,但每次我调用Dijit文件时,我得到的
未捕获卸载在打包的应用程序中不可用。

现在我不确定这是Dojo的问题还是Chrome的新安全策略的局限性

我的文件:

/** manifest.json **/
{
  "name": "Hello App",
  "version": "2.0",
  "manifest_version": 2,
  "description": "A app that says hello",
  "app": {
    "background": {
      "scripts" : ["js/app.js"]
    }
  },
  "permissions": [

  ],
  "sandbox": {
    "pages" : ["live.html"]
  }
}

/** js/app.js **/
chrome.app.runtime.onLaunched.addListener(function(){
  chrome.app.window.create('live.html', {width:screen.width,
    height: screen.height});
});

/** js/helloapp/app.js **/
/** This is the file that actually calls Dijit to build the layout **/
define(function(){
  require(["dijit/layout/ContentPane",
    "dijit/layout/BorderContainer"]);
});
我之所以不使用live.html,是因为它基本上只是html结构、对dojo加载程序的调用以及对
helloapp/app.js
文件的需求

如果这是CSP领域的一个限制,那么有没有其他方法可以在新的Chrome应用程序上使用Dijit,或者我遗漏了什么


感谢您的时间

您必须修改dojocore、dojobase和Dijit中的所有核心源代码,以删除卸载事件或重新定义它

close()
unload()
非常相似,您可以看到一个关于为什么不在这里实现它的线程:


我只是猜测了一下,因为我以前没有写过Chrome扩展。如果您从本地源加载dojo/Dijit,则可能需要将它们指定为允许应用加载的脚本。如果您是从CDN加载dojo,您可能需要在“权限”部分指定CND主机。我不这么认为,因为根据google developer文档:
注意,您只需要列出希望在windows或框架中加载的页面。沙盒页面使用的资源(例如样式表或JavaScript源文件)不需要出现在沙盒页面列表中,它们将使用嵌入它们的页面的沙盒。
并且该错误似乎与缺乏这方面的权限无关。无论如何谢谢你