0

現在、JavaScript で Cookie を作成しようとしています。アイデアは、ユーザーが YouTube ビデオを見ているときに拡張機能のアイコンをクリックすると、タブ名を取得して Cookie として保存するというものです。これは、Java プログラムから 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);
}

編集: Google が提供する chrome API を使用するようにコードを変更しました。大成功です!

4

1 に答える 1

0

誰かが同じ問題を抱えている場合は、Google 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、および Web サイト ドメインに対するアクセス許可が必要です。さらに、Cookie の有効期限がいつ切れるかについては述べていないため、セッションが閉じられると有効期限が切れます。

于 2013-10-28T17:18:09.340 に答える