在Popup和后台Chrome扩展程序之间工作

时间:2011-12-27 05:56:41

标签: javascript google-chrome google-chrome-extension

我正在尝试在弹出窗口中设置一个变量,标记为i,然后将其发送到后台页面。我相信我可以把变量作为“请求”,但我可能错了。当我尝试运行扩展时,我得到:

  

未捕获的TypeError:无法调用未定义的方法'sendRequest'

我错过了什么?

这是我的popup.html文件:

var i = 0;
function start(){
    alert("working");
    chrome.tabs.sendRequest(i);
}

function add(){
    i++;
    document.getElementById('box').value=i;
}

function sub(){
    i--;
    document.getElementById('box').value=i;
}

1 个答案:

答案 0 :(得分:4)

您应该调用chrome.extension.getBackgroundPage函数来获取对后台页面的窗口对象的引用。以下是在后台页面中定义setIValue函数的示例。

var i = 0, bgPage = chrome.extension.getBackgroundPage();
function start(){
    alert("working");
    bgPage.setIValue(i);        
}