Код: Выделить всё
Content-Security-Policy: The page’s settings blocked assigning to an injection sink because it violates the following directive: “require-trusted-types-for ’script’
Расширение работало следующим образом: при загрузке страницы оно создавало функцию, которая принимала функцию в качестве параметра, создавала элемент сценария и записывала функцию как его текстовое содержимое, а затем добавляла ее в тело документа, чтобы сделать его исполняемым. Затем в документ был добавлен сценарий «настройки», который делал доступными различные функции, предназначенные для запуска при нажатии клавиши, и, наконец, в документ был добавлен прослушиватель событий для запуска нужных функций при нужном нажатии клавиши или сценарий настройки, если он еще не инициализирован.
Если я правильно помню, шаг внедрения был необходим, потому что прослушиватель событий запускался в отдельном контексте от контекста расширения, поэтому функции не были бы виден прослушивателю событий, если не добавлен к телу документа. Однако именно этот шаг, по-видимому, и вызывает ошибку в CSP (который, как я предполагаю, был недавно обновлен, поскольку до сих пор все работало нормально).
Есть ли способ обойти CSP для расширения или способ реализовать эту функциональность в расширении без необходимости внедрения JavaScript в элемент, например, какой-то способ напрямую взаимодействовать между внешним приложением и расширением (или между page-javascript и контекстом расширения)? (Очень хакерский обходной путь размещения нужных функций в букмарклетах и доступа к ним через браузер через alt-b-etc работает, хотя он не очень надежен и не очень хорошо работает при полноэкранном просмотре, и я не смог найти никаких упоминаний о возможности запуска букмарклетов напрямую через расширение)
Подробнее здесь: https://stackoverflow.com/questions/797 ... ted-the-co