在选择框onchange上运行chrome.cookies.set

时间:2011-08-09 14:52:29

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

我对这个小东西有点麻烦,我希望有人可以帮助我。

    <select id="routeBox" name="routeBox" 
    onchange="javascript: getRoute(route, routeBox.selectedIndex);
    setCookies('http://127.0.0.1/*', 'routeCookie', routeBox.options.selectedIndex);">
    </select>

第一个函数按原样运行,但第二个函数setCookies从不运行。 这是setCookies:

    function setCookies(domain, name, value) {
    chrome.cookies.set({"url": domain, "name": name, "value": value});          
    alert("cookie set");
    }

该函数位于脚本标记中的selectBox上方。

任何帮助都会很棒!

由于

2 个答案:

答案 0 :(得分:0)

一些事情:

  • 除非route是全局变量,否则它在onchange范围内当前未定义。
  • 我会使用this关键字引用routeBox对象。
  • 您无需将javascript:文本添加到onchange属性。

这是您修改的代码:

<select id="routeBox" name="routeBox" 
        onchange="getRoute(route, this.selectedIndex);
        setCookies('http://127.0.0.1/*', 'routeCookie', this.selectedIndex);">
</select>

答案 1 :(得分:0)

您的代码看起来很合理且您的API看起来正确,所以我只能想象您可能忘记在清单中声明"cookies" permission