在Chrome Extension Developer's Guide之后,我知道,
内容脚本有一些限制。他们不能:
- 使用chrome。* API(chrome.extension的部分除外)
- 使用其扩展程序页面定义的变量或函数
- 使用由网页或其他内容脚本定义的变量或函数
但我可以间接实现这个目标,还是有任何例子?
例如:-injected-Page.html
==========
<html>
<script>
function blabla(){
//do something
}
</script>
</html>
如何在内容脚本中使用该方法?
答案 0 :(得分:1)
正如方 觉所说,你必须注入你的脚本。
var actualCode = '(' + function() {
blabla();
} + ')();';
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
但有一点你应该知道,blabla()
仍在处理网页的上下文,而不是你的内容脚本,所以你可以调用它,但这就是你所能做的。例如,您无法获取返回值并在内容脚本上使用它。这是不可能的。