我正在构建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);
不确定是否有更好的为什么要实现这一点?
这似乎应该用postMessage 来完成