Расширение Chrome - Передача сообщений

Я пытаюсь получить информацию, которая установлена на Странице параметров изменить поведение моего расширения.

В основном, если флажок на OptionsPage имеет значение true, дополнительные выполнения, иначе он не делает. Я возвращаю true на background.html для тестирования, но тем не менее, он не работает.

Парни выручают меня?Спасибо!

Код введен к странице:

if(chrome.extension.sendRequest() == 'true')
    alert("checkbox set to true");
else
    alert("it is disabled");

background.html

<script>
chrome.extension.onRequest.addListener(function(){
    return true;
    }
</script>
5
задан Felipe Barreiros 8 June 2010 в 15:27
поделиться

1 ответ

Если у вас есть страница параметров и вы хотите связаться с фоновой страницей , вы можете просто сделать chrome.extension. getBackgroundPage ()

Страница параметров взаимодействует с фоновой страницей


options.html

var bkg = chrome.extension.getBackgroundPage()
bkg.startExtension();
bkg.stopExtension();

background.html

function startExtension() {
  console.log('Starting Extension');
}

function stopExtension() {
  console.log('Stopping Extension');
}

Сценарий содержимого взаимодействует с фоновой страницей


Когда вы имеете в виду «Код, вводимый на страницу "это какой-нибудь сайт? Если это так, вам нужно будет использовать сценарий содержимого с передачей сообщений . Для этого вы можете сделать это.

content_script.js

chrome.extension.sendRequest({action:'start'}, function(response) {
  console.log('Start action sent');  
});

background.html

function onRequest(request, sender, sendResponse) {
 if (request.action == 'start')
   startExtension()
 else if (request.action == 'stop')
   stopExtension()

 sendResponse({});
};
chrome.extension.onRequest.addListener(onRequest);

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

14
ответ дан 18 December 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: