gpt4 book ai didi

javascript - Safari 扩展注入(inject)脚本/网页交互

转载 作者:行者123 更新时间:2023-12-04 23:58:42 25 4
gpt4 key购买 nike

我正在构建 Safari 浏览器扩展

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

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

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

是否可以从注入(inject)的脚本中调用该函数?

或者,是否可以执行相反的操作并从网页调用注入(inject)脚本中的函数?

提前致谢。

编辑:

对于任何感兴趣的人,我目前已经通过添加/删除自执行函数解决了这个问题:

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

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

不确定是否有更好的原因来实现这一点?

最佳答案

看来这应该用 postMessage 来完成

关于javascript - Safari 扩展注入(inject)脚本/网页交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com