30

我现在正在制作 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>

然后我想从谷歌扩展中调用原始页面中的“问候”功能。我该怎么做以上?

4

2 回答 2

35

您也可以简单地在内容脚本中编写:

location.href="javascript:greeting(); void 0";
于 2012-11-11T18:16:50.033 回答
15

对于第一部分,您可以使用这个不错的答案:使用内容脚本将代码插入页面上下文

在内容脚本中调用函数很容易。您可以创建自己的事件,然后可以在内容脚本中收听。这将像这样工作:

注入代码

var evt = document.createEvent('Event');
evt.initEvent('myCustomEvent', true, false);

// fire the event
document.dispatchEvent(evt);

内容脚本

document.addEventListener('myCustomEvent', function() {
  // do whatever is necessary
});
于 2012-11-08T16:14:33.047 回答