Как вызвать функции на исходной странице (вкладке) в расширениях Chrome - программирование
Подтвердить что ты не робот

Как вызвать функции на исходной странице (вкладке) в расширениях Chrome

Теперь я делаю расширение Chrome. Я хочу вызвать функции JS, определенные на исходной странице (вкладке), из расширения Chrome. Не имеет значения, называет ли их background.html или Content_Script.

Например:

Исходная страница (вкладка)

<html>
<head>
<title>Original Page</title>
<script>
function greeting(){
    alert("Ohayou!");
    // some other codes here
}
</script>
</head>
<body></body>
</html>

Затем я хочу вызвать функцию "приветствие" на исходной странице из Google Extensions. Как я могу сделать выше?

4b9b3361

Ответ 1

В первой части вы можете использовать этот приятный ответ: Вставить код в контекст страницы с помощью содержимого script.

Вызывать функцию обратно в вашем контенте script легко. Вы можете создать свое собственное событие, которое затем можно прослушать в своем контенте script. Это будет работать следующим образом:

вложенный код:

var evt = document.createEvent('Event');
evt.initEvent('myCustomEvent', true, false);

// fire the event
document.dispatchEvent(evt);

contentscript

document.addEventListener('myCustomEvent', function() {
  // do whatever is necessary
});

Ответ 2

Вы также можете просто написать в своем содержании script:

location.href="javascript:greeting(); void 0";