如何在Chrome扩展程序中调用原始页面(标签)中的功能

时间:2012-11-08 14:01:46

标签: google-chrome-extension

我现在正在制作Chrome扩展程序。我想从Chrome扩展中调用原始页面(选项卡)中定义的JS函数。 background.htmlContent_Script是否会调用它们无关紧要。

例如:

原始页面(标签)

<html>
<head>
<title>Original Page</title>
<script>
function greeting(){
    alert("Ohayou!");
    // some other codes here
}
</script>
</head>
<body></body>
</html>

然后我想从Google扩展程序中调用原始页面中的“问候语”功能。 我怎么能做到这一点?

2 个答案:

答案 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
});