Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 拒绝执行内联事件处理程序,因为它违反CSP。(沙箱)_Javascript_Jquery_Google Chrome_Google Chrome App_Sandbox - Fatal编程技术网

Javascript 拒绝执行内联事件处理程序,因为它违反CSP。(沙箱)

Javascript 拒绝执行内联事件处理程序,因为它违反CSP。(沙箱),javascript,jquery,google-chrome,google-chrome-app,sandbox,Javascript,Jquery,Google Chrome,Google Chrome App,Sandbox,我正在开发一个GoogleChrome打包的应用程序,当时我将沙箱放在manifest.json中: { "manifest_version": 2, "name": "WM32216", "version": "2.1", "minimum_chrome_version": "23", "permissions":

我正在开发一个GoogleChrome打包的应用程序,当时我将沙箱放在
manifest.json
中:

 {
  "manifest_version": 2,
  "name": "WM32216",
  "version": "2.1",
  "minimum_chrome_version": "23",
  "permissions":["webview", "https://ajax.googleapis.com/*"],
  "sandbox":{
      "pages":["index.html"]
  },
  "app": {
    "background": {
      "scripts": ["main.js"]
    }
  }
}
我的锚标签上的
onclick
事件起作用,应用程序的流程是完整的,除了CSS样式表中的图标不加载之外

我从控制台得到一个
错误

未找到文件

但是那些只是字体,所以我觉得没问题

最大的问题是,iframe中的视频无法播放,我在使用字体之前还遇到了其他错误,这些错误包括:

VIDEOJS:ERROR:(代码:4媒体\u ERR\u SRC\u不受支持)无法加载媒体,原因可能是服务器或网络出现故障,或者是格式不受支持

不允许加载本地资源:blob:null/b818b32c-b762-4bd9-

当我移除manifest.json文件中的沙盒时,一切都很好,控制台中没有关于字体的错误

但是,当我点击/点击我的锚定标签时,我得到了如下控制台错误,该锚定标签有一个点击事件,可以在js中加载一个新函数:

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“default src'self'blob:filesystem:chrome extension resource:”。启用内联执行需要'unsafe inline'关键字、哈希('sha256-…')或nonce('nonce-…')。还请注意,没有显式设置“script src”,因此使用“default src”作为回退

很抱歉说了这么长的细节


我只是需要帮助,因为我已经被困在这里三天了。

回答你的非沙箱相关问题:

您的代码中有如下内容:

<button onclick="myFunction()">Click me</button>
长话短说:

在chrome应用程序中,内容安全策略不允许内联javascript。因此,您必须将javascript放在.js文件中,并将其包含在HTML中


进一步阅读:

是的,我忘记了内联javascript是不允许的,但是我如何获得被点击的锚标记的ID呢?虽然ID是动态的..为什么ID是动态的?您可以使用类或数据作为html属性吗?有了javascript,您可以引用的很多东西都是DOM,比如find all,它是动态的,因为所有内容都是来自POST
<button id="myButton">Click me</button>
<script src="script.js"></script>
document.getElementById("myButton").addEventListener("click", myFunction);

function myFunction(){
  console.log('asd');
}