Политика безопасности контента не загружает файлы с локального хоста

Я пытаюсь сделать приложение 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 и исправьте все оставшиеся проблемы, чтобы сообщения об ошибках исчезли.

Другие вопросы по тегам