我的Chrome扩展程序有一个后台页面,可在当前选项卡上执行脚本。
脚本更改当前选项卡上的元素,方法是在发生'myFunction'
事件时,通过向现有元素添加代码来调用在后台页面定义的函数'onClick'
。
问题是抛出了异常,即'myFunction'
未在当前选项卡上定义。
启用此互动的最佳方式是什么?使当前页面能够转到后台页面定义的功能吗?
提前致谢!
答案 0 :(得分:1)
后台页面在独立的上下文中执行,因此无法在当前打开的选项卡中直接执行其功能。
您需要的是在所有标签上执行content script,然后使用message passing mechanism与背景页面进行通信。
如果没有更多信息,很难为您提供更多帮助。
答案 1 :(得分:0)
如第一个答案中所述,“如果没有更多信息,很难为您提供更多帮助。”但是对于您的第二个问题,您需要的是对您背景页面中定义的功能的引用。这可以通过getBackgroundPage
函数实现。代码看起来像这样;
var bgPage = chrome.extension.getBackgroundPage();
bgPage.myFunction();