gpt4 book ai didi

javascript - Chrome 扩展 : Injecting external script

转载 作者:行者123 更新时间:2023-11-29 10:23:33 25 4
gpt4 key购买 nike

我正在创建一个 Chrome 扩展程序,它将 script 标记附加到页面,然后使用该外部脚本中定义的代码:

$('body').append('<script src="..."></script><script>console.log(SomeObject)</script>');

SomeObject 是在外部脚本中定义的,所以我应该可以访问它,对吗?好吧,我不能,因为我收到“未定义”错误。

我什至尝试使用head.js 加载外部脚本并在加载脚本后执行函数,但无济于事。

如果我打开 Chrome 控制台,我就可以访问该死的对象了!!!

我在后台页面中尝试了内容脚本和 executeScript 都无济于事。在两者上,如果我使用 console.log(window),我可以在控制台中检查 window 对象,而 SomeObject 无处可去成立。如果我在 Chrome 控制台上检查 window 对象,它就在那里!

注入(inject)的脚本是否以某种方式被沙盒化了?

谢谢!

最佳答案

这是最终起作用的:

var script = document.createElement('script');
script.src = "...";
script.addEventListener('load', function() {
// SomeObject is available!!!
});
document.head.appendChild(script);

我想知道为什么其他方法都不起作用...

关于javascript - Chrome 扩展 : Injecting external script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657496/

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