如何使页面与背景页面交互?

时间:2013-09-29 19:53:24

标签: google-chrome-extension

我的Chrome扩展程序有一个后台页面,可在当前选项卡上执行脚本。

脚本更改当前选项卡上的元素,方法是在发生'myFunction'事件时,通过向现有元素添加代码来调用在后台页面定义的函数'onClick'。 问题是抛出了异常,即'myFunction'未在当前选项卡上定义。

启用此互动的最佳方式是什么?使当前页面能够转到后台页面定义的功能吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

后台页面在独立的上下文中执行,因此无法在当前打开的选项卡中直接执行其功能。

您需要的是在所有标签上执行content script,然后使用message passing mechanism与背景页面进行通信。

如果没有更多信息,很难为您提供更多帮助。

答案 1 :(得分:0)

如第一个答案中所述,“如果没有更多信息,很难为您提供更多帮助。”但是对于您的第二个问题,您需要的是对您背景页面中定义的功能的引用。这可以通过getBackgroundPage函数实现。代码看起来像这样;

var bgPage = chrome.extension.getBackgroundPage();
bgPage.myFunction();