我正在开发一个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);
不确定是否有更好的方法来实现这个?