Приложение Chrome: отказано в выполнении встроенного сценария, поскольку оно нарушает следующую директиву политики безопасности содержимого

Я провел некоторое исследование в той же теме и попробовал ответы, которые получил. Но все равно одна и та же ошибка выдает каждый раз.

В моем случае это приложение Chrome, и на одной странице я использую iframe и указываю src на некоторый контент XHTML. Это на самом деле содержит некоторые встроенные стили и скрипты, которые я не могу удалить или изменить.

Ниже мой файл манифеста.

{
    "manifest_version": 2,
    "name": "*****",
    "short_name": "****",
    "version": "*****",
    "permissions": [""],
    "content_security_policy": "default-src 'self' 'unsafe-inline' 'unsafe-eval'; script-src 'unsafe-inline' 'unsafe-eval' 'self'; object-src 'self' 'unsafe-inline' 'unsafe-eval'",
    "app": {
        "background": {
            "scripts": ["chrome.js"]
        }
    },
    "icons": {
        "16": "1.png",
        "48": "2.png",
        "128": "3.png"
        },
    "sandbox": {
        "pages": [
            "****.html"
        ]
    }
}

1 ответ

Пожалуйста, обратитесь к руководству по политике безопасности контента:

Встроенный скрипт

Вплоть до Chrome 45 не было механизма для ослабления ограничения на выполнение встроенного JavaScript. В частности, установка политики сценариев, включающей "unsafe-inline", не будет иметь никакого эффекта.

Начиная с Chrome 46, встроенные сценарии могут быть внесены в белый список, указав в политике base-закодированный хэш исходного кода. Этот хэш должен иметь префикс с помощью используемого алгоритма хэширования (sha256, sha384 или sha512). Посмотрите использование Хэша для элементов для примера.