Как работать с content-скриптом в chrome расширении?

224
07 ноября 2018, 05:40

Всем привет. Решил разобраться в написании расширений для браузера, поискал в интернете, но немного не понял, как работать с контент-скриптом. На сколько я понял, этот скрипт исполняется будто он находится в самой веб-странице. Но почему-то, например, простейший alert(); не выполняется. В чём ошибка?

Код: manifest.json:

popup.html:

popup.js:

content_script.js:

Answer 1

Для отправки сообщения из popup или background вам необходимо воспользоваться методом chrome.tabs.sendMessage. Именно он отвечает за доставку сообщений внутрь контент-скрипта, выполняющегося на страница.
Для этого метода необходимо указать ID таба. Его можно получить, допустим, методом chrome.tabs.query.

Также, обратите внимание на то, что код вида:

<button OnClick="start()">Button</button>

..не будет работать, по причине того, что в расширениях запрещено исполнение inline javascript. Вам необходимо разместить JS код в отдельном файле и подключить его к popup.html через тег script.

READ ALSO
Post запросы с FLASK сервера

Post запросы с FLASK сервера

Имеется клиентская часть на JS и серверная flaskЗапросы с клиента уходят, приходят на сервер

232
Своя кнопка поделиться

Своя кнопка поделиться

Для сайта нужно сделать свою кнопку "Поделиться" в различных социальных сетяхКак отследить, пользователь действительно поделился записью...

205
Как сделать один gulp file на несколько сайтов?

Как сделать один gulp file на несколько сайтов?

Есть много отдельных почти уникальных страниц сайта со своей файловой структурой и сборкой, но в них используется шаблон шапки, который лежит...

216
Можно ли вкладывать $(window).on(&ldquo;load&rdquo;) внутрь $(document).ready()?

Можно ли вкладывать $(window).on(“load”) внутрь $(document).ready()?

Есть слайдерНа мобильном телефоне слайдер работает корректно только при первом открытии страницы

231