Я пытаюсь создать расширение для Chrome, но я новичок, и мне трудно понять Документы, предоставленные Google. Я хочу, чтобы расширение имело всплывающее окно с несколькими кнопками, и когда нажимается кнопка, я хочу запустить скрипт.Из popup.html, как я могу запустить функцию javaxcript кнопкой onclick?
Это моя установка:
popup.html
<button id="test1" onclick="getSite();">button 1</button>
<button id="test2" onclick="getSite();">button 2</button>
content_script.js
function getSite(){alert('getSite works!');}
У меня возникли проблемы с пониманием, как использовать хром javascript api, так как я другие говорят, что используют chrome.tabs.executeScript
, но я не могу понять, куда идет эта линия. Может кто-нибудь мне помочь? Я дам тебе печенье! или просто надпись .. или, возможно, и то, и другое?
Оба ниже ответа верны. Вы не можете использовать встроенные атрибуты событий, и вы не можете ссылаться на переменные в своем скрипте контента из всплывающего окна действия вашего браузера. Используйте 'addEventListener' в отдельном JS-файле и используйте передачу сообщений через вашу фоновую страницу. – apsillers
Ohhh .. Думаю, я просто понял это, но я проверю еще до подтверждения. Вот как вы используете 'chrome.tabs.executeScript' Вместо того, чтобы просто вводить' alert ('test'); 'вы пишете ' chrome.tabs.executeScript (null, {code: "alert ('test') "}); window.close(); ' – Jack
Это правильно; вы также можете использовать '{file:" some_file.js "}' для ввода целого файла. Каждая вкладка имеет изолированное исполнение для сценариев расширения, и все они отделены от фонового paage. 'executeScript' - это то, как фоновая страница получает конкретную вкладку для запуска кода. – apsillers