Политика безопасности контента не загружает файлы с локального хоста
Я пытаюсь сделать приложение 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, но затем Chrome начал выдавать предупреждение.
"content_security_policy": "script-src 'self' 'http://127.0.0.1:1337/livereload.js'; object-src 'self'"
Предупреждение -
При попытке установить это расширение были выданы предупреждения: "content_security_policy" разрешено только для расширений и устаревших упакованных приложений, и это упакованное приложение.
ОБНОВИТЬ:
Проблема возникает, когда я использую фоновый скрипт для создания окна. т.е. когда у меня есть это в моем файле манифеста
"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"
}
Тогда все работает просто отлично. Может кто-нибудь объяснить, почему это происходит?
1 ответ
Какой у Вас вопрос? Сообщения об ошибках довольно очевидны.
Ваш код не может нарушать CSP по умолчанию, применимый к приложениям Chrome. Вы изучили Политику безопасности контента и сделали ваше приложение совместимым? Вы смотрели на примеры кода для примеров того, что вы пытаетесь сделать?
Первая проблема заключается в том, что вы пытаетесь загрузить и выполнить внешний контент. CSP запрещает это, и даже если это не так, ваше приложение не будет работать в автономном режиме, если вы это сделаете. Попробуйте включить сценарий как часть вашего приложения, а не на внешний сервер (localhost). Затем снова прочтите CSP и исправьте все оставшиеся проблемы, чтобы сообщения об ошибках исчезли.