2009-09-17 5 views

答えて

-3

をさらに良いことに、あなたはHTML5のlocalStorageを使用することができます。

localStorage.setItem("itemid", "hello"); // write 
value = localStorage.getItem("itemid");  // read 

あなたが本当にユーザーが任意のサイトのCookieを読み取るしたい場合ダンが書いたように、本当に悪いことができるように、それは不可能です。

ページから取得できるのはページDOMコンテンツです。

+0

これで 'chrome.storage.local'を使うべきです。とにかく5年前のアンサーです。 – jiyinyiyong

22

私はこのサイトで本当に間違ったことを読むのは初めてです。 拡張機能からの実際のドキュメントCookieの取得は、INDEEDが可能です。

は、あなたは自分のマニフェストにこれら二つのものが必要になります。

"content_scripts": [ 
    { 
     "matches": ["http://*/*", "https://*/*"], 
     "js": ["cookie_handler.js"] 
    } 
    ], 
    "permissions": [ 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ], 

あなたcookie_handler.jsは、すべてのローダーページ/フレーム/インラインフレームの同じコンテキストで実行されます。 が一行入れてみてください:

alert(document.cookie); 

をし、私はまた、あなたの背景ににクッキー情報を取得する方法を説明し、それについて移動する方法についてはほとんどのポストをした:)

+0

これはFirefoxからのCookieの許可のような拡張を行うことが可能であることを意味しますか?この拡張により、各サイトのユーザーは常に許可、セッションの許可、ブロック、削除が可能になります。または、そのような拡張機能をChrome用に作成することはできませんか? – Louise

+0

エラー: 'content_scriptsのjavascript cookie_handler.jsを読み込めません ' –

+1

@MuhammadAdeelZahidあなたのクッキーハンドラスクリプトをそこに書く必要があります:P –

3

あなたは(FirefoxのTACOのようなもののために有用)、サイトを訪問することなしに、ユーザーのCookie情報を操作するために探しているなら、あなたは運のうち、現在しています。 Googleが作業しているようです:彼らは最近、実験的なAPIに比較的完全なクッキーハンドラを追加しました: chrome.experimental.cookies

これはまもなくサポートAPIに卒業することを望みます。

16

現在の拡張で、サイトのクッキーを取得するための最良の(最も簡単な)方法は、このようなものです:

chrome.cookies.get({ url: 'http://example.com', name: 'somename' }, 
    function (cookie) { 
    if (cookie) { 
     console.log(cookie.value); 
    } 
    else { 
     console.log('Can\'t get cookie! Check the name!'); 
    } 
}); 

だから今、あなたはこののコンテンツのスクリプトを必要としませんが、権限を含めることを忘れないでくださいマニフェストに:

"permissions": [ 
    "cookies", 
    "*://*.example.com/*" 
] 
+7

これは私のために働いていました。このコードをバックグラウンドスクリプトに記述する必要があることに言及することは重要です。 –

関連する問題