1

ボタンとポップアップオーバーレイを持つGoogle Chrome拡張機能に取り組んでいます。この拡張機能内で、ユーザーの Cookie を設定および削除します。開発中、拡張機能は localhost:8080 にリクエストを送信し、(おそらく) localhost をドメインとして Cookie が設定されます。

問題は、Chrome 内からこれらの Cookie をリストで表示する方法がわからないことです。Firefox には、さまざまなホスト名によって設定されたすべての Cookie を表示するための簡単な機能があり、Chrome にも同様の機能があるように見えます (ただし、Chrome の開発者ツールにはあま​​り詳しくありません)。しかし、Chrome の Cookie リストには、localhost に設定された Cookie も、拡張機能の Cookie もまったく見つかりません。サードパーティの Cookie 拡張機能もいくつか試しましたが、うまくいきませんでした。

拡張機能によって設定された Cookie は、通常の Web サイトによって設定された Cookie と同じ場所に表示されますか? もしそうなら、なぜ私はそれらを見ないのですか? 助けていただければ幸いです。ありがとう!

4

3 に答える 3

2

はい、サンプルの場所に表示されます。デモンストレーション用のサンプル拡張機能を作成しました。developer.chrome.com ドメインでこれをテストした後のスクリーン ショット

ここに画像の説明を入力

サンプル拡張子:

マニフェスト.json

{
  "name" : "Cookie API Demo",
  "version" : "1",
  "description" : "This is demonstration of Cookie API",
  "permissions": [ "cookies","<all_urls>"],
  "browser_action": {
    "default_icon": "screen.png",
    "default_popup":"popup.html"
  },
  "manifest_version": 2
}

popup.html

<html>
<head>
<script src="popup.js"></script>
</head>
<body>
</body>
</html>

popup.js

function cookieinfo(){
    chrome.cookies.getAll({},function (cookie){
        console.log(cookie.length);
        for(i=0;i<cookie.length;i++){
            console.log(JSON.stringify(cookie[i]));
        }
    });
    chrome.cookies.getAllCookieStores(function (cookiestores){
        for(i=0;i<cookiestores.length;i++){
            console.log(JSON.stringify(cookiestores[i]));
        }
    });
    chrome.cookies.set({"name":"Sample1","url":"http://developer.chrome.com/extensions/cookies.html","value":"Dummy Data"},function (cookie){
        console.log(JSON.stringify(cookie));
        console.log(chrome.extension.lastError);
        console.log(chrome.runtime.lastError);
    });
    chrome.cookies.onChanged.addListener(function (changeInfo){
        console.log(JSON.stringify(changeInfo));
    });
}
window.onload=cookieinfo;
于 2012-11-23T05:24:11.833 に答える
0

さて、私はそれを理解しました。それは額のスラッパーですが、他の人が助けを必要とする場合に備えて、とにかくここに答えを投稿します.

オーバーレイ要素を調べた場合、オーバーレイ拡張機能の Cookie は「開発者ツール」にのみ表示されます。つまり、オーバーレイを閉じてレンチ ボタンをクリックすると、開発者ツール、リソース、Cookie のうち、基になるページの Cookie だけが表示されます。

オーバーレイ拡張機能の Cookie を表示するには、オーバーレイ内で右クリックし、「要素を検査」します。Cookie はそこに表示され、それらが関連付けられている「ドメイン」は拡張機能の一意の ID (kackjckjckjckcjckjckcjkcjckcj または what-have-you) です。

ランダムなメモ: この記事の執筆時点では、Jquery Cookie プラグインは、設定した有効期限に関係なく、常にセッションで Cookie を破棄します。ブラウザーを閉じても Cookie を永続化 (存続) させるには、古き良き setCookie() および getCookie() 関数を組み込み、Jquery Cookie を取り除く必要がありました。

于 2012-11-24T13:49:39.293 に答える
0

ブラウザで - 次の場所にアクセスします。

chrome://settings/cookies

Chrome のブックマークのアドレスとして設定し、Cookie を見たいときにブックマークをクリックするだけです。

于 2015-09-02T23:39:01.380 に答える