-3

Я пытаюсь создать расширение с большой обработкой данных, но почему-то не могу связать базовую кнопку, чтобы что-то сделать. Также, если вы знаете какие-либо ресурсы, которые будут полезны для меня в будущем, я был бы признателен.

http://codepaste.net/vsimew

function helloworld() {
  alert("Hello World!");
}

Эта команда из popup.js У меня также есть background.js для слушателей, но я не знаю, как использовать слушателей.

С уважением

1 ответ1

2

Причина, по которой это не работает, заключается в том, что встроенный Javascript не разрешен на страницах расширения.

Встроенный JavaScript не будет выполнен. Это ограничение запрещает как встроенные блоки <script> и встроенные обработчики событий (например, <button onclick="...">).

Первое ограничение уничтожает огромный класс межсайтовых скриптовых атак, делая невозможным случайное выполнение скрипта, предоставленного злонамеренной третьей стороной. Однако он требует от вас написания кода с четким разделением между содержимым и поведением (что, конечно, вы должны делать в любом случае, верно?)

Вы можете добавить обработчик onclick, используя функцию addEventListener ; В этом разделе документации Chrome приведен пример того, как это сделать:

https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .