0

我想做一个chrome应用程序,并希望使用livereload,以便在我进行更改时自动更新。但我收到以下消息 -内容安全策略不从本地主机加载文件

错误消息:

Refused to load the script 'http://localhost:35729/livereload.js' because it violates the following Content Security Policy directive: "default-src 'self' chrome-extension-resource:". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback. 

添加以下部分在我的manifest.json文件,但随后开始铬给予警告。 “content_security_policy”仅允许用于扩展和传统 打包应用程序,这是一个打包应用程序: -

"content_security_policy": "script-src 'self' 'http://127.0.0.1:1337/livereload.js'; object-src 'self'" 

警告

这里当试图安装该扩展是警告。

UPDATE:

当我使用一个后台脚本来创建窗口的问题就出现了。即当我在清单文件

"background": { 
    "scripts": ["backgound.js"] 
}, 

"content_security_policy": "script-src 'self' http://localhost:1337/livereload.js 'unsafe-eval'; object-src 'self'" 

有这样万一我不使用背景脚本,而不是使用 -

"app": { 
    "launch": { 
     "local_path": "window.html" 
    } 

然后一切都运行得很好。有人可以解释为什么会发生这种情况吗?

回答

-3

你的问题是什么?错误信息非常明了。

您的代码无法违反适用于Chrome应用的默认CSP。您是否查看了内容安全策略并使您的应用符合要求?你有没有看过任何code samples的例子你想要做什么?

第一个问题是您正在尝试加载和执行外部内容。 CSP禁止,即使不这样做,如果你这样做,你的应用程序也不会脱机工作。尝试将脚本作为应用程序的一部分而不是外部(本地主机)服务器。然后,再次阅读CSP并修复所有剩余的问题,以便错误消息消失。

+0

不幸的是,它更像是一个语法错误。我已经通过CSP文档,但它没有帮助。 – Tushar

+0

我更新了这个问题,请看看你现在是否有任何意义? – Tushar