遵循 Chrome Extension Developer's Guide ,我知道,
content scripts have some limitations. They cannot:
- Use chrome.* APIs (except for parts of chrome.extension)
- Use variables or functions defined by their extension's pages
- Use variables or functions defined by web pages or by other content scripts
但是我可以间接实现这一点吗?或者有什么例子吗?
例如:the-Injected-Page.html
==========
<html>
<script>
function blabla(){
//do something
}
</script>
</html>
如何在我的内容脚本中使用该方法?
最佳答案
如方 觉说,你必须注入(inject)你的脚本。
var actualCode = '(' + function() {
blabla();
} + ')();';
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
但是有一点你应该知道,blabla()
仍然在网页的上下文中工作,而不是在你的内容脚本上,所以你可以调用它,但这就是你能做的。例如,您无法获取返回值并将其用于内容脚本。这是不可能的。
关于javascript - 如何间接使用ContentScripts中网页定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18027654/