Выполнение chrome.cookies.set на selectbox onchange - PullRequest
1 голос
/ 09 августа 2011

У меня немало проблем с этой маленькой штукой, и я надеялся, что кто-нибудь мне поможет.

    <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 голосов
/ 11 августа 2011

Ваш код выглядит здравым, и ваш API выглядит корректно, поэтому я могу только представить, что вы, возможно, забыли объявить разрешение "cookie" в вашем манифесте.

0 голосов
/ 09 августа 2011

Пара вещей:

  • Если route не является глобальной переменной, в настоящее время она не определена в области видимости onchange.
  • Я бы сослался на объект routeBox с ключевым словом this.
  • Вам не нужно добавлять текст javascript: в атрибут onchange.

Вот ваш код, модифицированный:

<select id="routeBox" name="routeBox" 
        onchange="getRoute(route, this.selectedIndex);
        setCookies('http://127.0.0.1/*', 'routeCookie', this.selectedIndex);">
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...