Как вызвать функции на исходной странице (вкладке) в расширениях 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.
Как я могу сделать выше?
Ответы
Ответ 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";