我现在正在制作Chrome扩展程序。我想从Chrome扩展中调用原始页面(选项卡)中定义的JS函数。 background.html
或Content_Script
是否会调用它们无关紧要。
例如:
原始页面(标签)
<html>
<head>
<title>Original Page</title>
<script>
function greeting(){
alert("Ohayou!");
// some other codes here
}
</script>
</head>
<body></body>
</html>
然后我想从Google扩展程序中调用原始页面中的“问候语”功能。 我怎么能做到这一点?
答案 0 :(得分:29)
您也可以简单地在内容脚本中写一下:
location.href="javascript:greeting(); void 0";
答案 1 :(得分:14)
对于第一部分,您可以使用这个不错的答案:Insert code into the page context using a content script。
在内容脚本中调用函数很容易。您可以create your own event然后在内容脚本中收听。 这可以这样工作:
注入代码:
var evt = document.createEvent('Event');
evt.initEvent('myCustomEvent', true, false);
// fire the event
document.dispatchEvent(evt);
<强> contentscript 强>:
document.addEventListener('myCustomEvent', function() {
// do whatever is necessary
});