我正在构建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);
不确定是否有更好的理由来实现这一目标?
答案 0 :(得分:0)
看来应该使用postMessage
来完成