【发布时间】:2011-10-03 04:53:57
【问题描述】:
我正在创建一个 Chrome 扩展程序,它将 script 标记附加到页面,然后使用该外部脚本中定义的代码:
$('body').append('<script src="..."></script><script>console.log(SomeObject)</script>');
SomeObject 是在外部脚本中定义的,所以我应该可以访问它,对吧?好吧,我不能,因为我收到“未定义”错误。
我什至尝试使用head.js加载外部脚本并在脚本加载后执行一个函数,但无济于事。
如果我打开 Chrome 控制台,我可以访问该死的对象就好了!!!
我在后台页面中尝试了内容脚本和executeScript,但均无济于事。在两者上,如果我使用console.log(window),我可以在控制台中检查window 对象,而SomeObject 无处可寻。如果我在 Chrome 控制台上检查 window 对象,它就在那里!
注入的脚本是否以某种方式被沙盒化了?
谢谢!
【问题讨论】:
标签: javascript google-chrome google-chrome-extension