0

我目前正在尝试在 JavaScript 中创建一个 cookie。这个想法是,当用户在观看 YouTube 视频时单击扩展图标时,它会获取选项卡名称并将其保存为 cookie。这样我就可以从我的 Java 程序中访问 c​​ookie。

我正在使用 chrome,当我按下它时,即使警报成功显示,我也看不到列表中的 cookie,所以我想知道是否有人能看到我的代码有问题。

此外,如果有人对如何将选项卡名称添加到我的 Java 程序有更好的想法,我将很高兴听到您的想法。

谢谢大家,这是我的代码:

chrome.browserAction.onClicked.addListener(run);

function run()
{
    var cookieName, cookieValue;

    cookieName = "Tab";
    chrome.tabs.getSelected(null, function(tab)
    {
       cookieValue = tab.title;
       createCookie(cookieName, cookieValue);
   });
   }

function createCookie(name, value)
{
    var expires = new Date().getTime() + (1000 * 3600);
    var domain = ";domain=.youtube.com";
    document.cookie = name + "=" + value + ";expires=" + expires + domain +         ";path=/";
    alert(name + " = " + value + ". Date = " + expires);
}

编辑:我已经更改了我的代码以使用谷歌提供的 chrome API,非常成功!

4

1 回答 1

0

如果有人有同样的问题,我已经使用谷歌 API 的 chrome 来处理关于 cookie 的问题。

我的新代码如下:

chrome.browserAction.onClicked.addListener(run);

function run()
{
    var cookieName, cookieValue, cookieURL;
    cookieName = "Tab";
    chrome.tabs.getSelected(null, function(tab)
    {
        cookieValue = tab.title;
        cookieURL = tab.url;
        createCookie(cookieName, cookieValue, cookieURL);
    });
}

function createCookie(cookieName, cookieValue, cookieURL)
{
    chrome.cookies.set({name: cookieName, value: cookieValue, domain: ".youtube.com", url: cookieURL});
}

注意:在清单文件中,您将需要选项卡、cookie 和网站域的权限。此外,我没有说明 cookie 何时过期,因此它会在会话关闭时过期。

于 2013-10-28T17:18:09.340 回答