Safari扩展注入了脚本/网页交互

时间:2012-03-28 15:08:04

标签: javascript safari safari-extension

我正在构建Safari浏览器扩展

我想从注入的脚本中调用网页中的函数

例如,如果我从注入的脚本在页面上创建了一个脚本:

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 :(得分:0)

看来应该使用postMessage

来完成