Внедрение расширения Safari в сценарий / взаимодействие с веб-страницей - PullRequest
3 голосов
/ 28 марта 2012

Я создаю расширение браузера Safari

Я хотел бы вызвать функцию на веб-странице из внедренного скрипта

Например, если я создал скрипт на странице из внедренного скриптаscript:

var newElement = document.createElement("script"); 
newElement.textContent = "function test(){alert(test);}"; 
document.body.insertBefore(newElement, document.body.firstChild);

Можно ли затем вызвать эту функцию из внедренного сценария?

в качестве альтернативы, можно ли сделать обратное и вызвать функцию во вставленном сценарии с веб-страницы?

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Для тех, кто заинтересован, я в настоящее время исправил эту проблему, добавив / удалив самозапускающуюся функцию:

if(script!=null)
  script.parentNode.removeChild(script); 

script = document.createElement("script"); 
script.textContent = "(function(){test();})();";      
document.body.insertBefore(script, document.body.firstChild);

Не уверен, что есть лучшийзачем этого достигать?

1 Ответ

0 голосов
/ 29 мая 2012

Похоже, это должно быть сделано с postMessage

...