2012-01-03 4 views

ответ

3

Вы можете придать вашим content-script на каждой странице (зарегистрировать его в extension manifest) и изменить страницу HTML, чтобы добавить button или a с вашим собственным идентификатором.

execution environment example объясняет это довольно хорошо, как вы инициируете событие со страницы на ваш скрипт контента. После того, как вы управляете триггером, вы можете делать все, что хотите, в качестве логики расширения.

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

+0

Можете ли вы объяснить, это еще? Я также должен вызывать расширение через программирование. Расширение загружается, нажав на кнопку значка внизу справа. – Volatil3

1

Да, это возможно. Вы можете написать так называемый Content Script, чтобы изменить страницу и связать обработчики событий с ссылками или кнопками.

0

создать манифест с background.js и content.js. Использования

chrome.tabs.sendMessage(tabId, {}, function() { ... });

в фоновом режиме для отправки сообщений содержимого скрипта, который вводится в каждый веб-страницу, которая открывается при установке расширения и включено. Об использовании content.js сценария

chrome.runtime.onMessage.addListener(function(req, sender, callback) { 
    < here use condition to find out when this exetnsion's popup.html should be opened and call the callback function which was passed in the argument list intially > 
    callback("something"); 
}); 

Здесь функция обратного вызова определяет в background.js и передается content.js код для открытия нового окна расширения, такие как

var panel_props = { 
      type: 'panel', 
      'width': width, 
      'height': height, 
      'left': left, 
      'top': top, 
      url: "chrome-extension://" + <extensionid>+ "/index.html" 
      } 

      chrome.windows.create(panel_props ,function (newWindow) { 
       vid = newWindow.id; 
      }); 
+0

для описания manifest.json (при необходимости) оставить комментарий. Я включу это также – Altanai

+0

Опять же, бессмысленный ответ. Это никак не связано с вопросом, но я буду рад оказаться ошибочным, если вы сможете объяснить, как это происходит. – Xan

+0

Дорогой Ксан, я приветствую вашу грубость. Ответ правильный и, по моему мнению, правильный. Расширение chrome дает возможность активировать contentjs из сценария прослушивания. Используя это как триггер, расширение можно напрямую вызывать с любой веб-страницы. Вы должны прочитать это «https://robots.thoughtbot.com/how-to-make-a-chrome-extension» – Altanai

Смежные вопросы