2009-09-17 11 views

Antwort

-3

Noch besser, können Sie die HTML5 localstorage verwenden:

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

Wenn Sie wirklich die Cookies von jeder Website der Benutzer lesen wollte, ist beobachten, wie Dan schrieb, ist es nicht möglich, da wirklich schlimme Dinge getan werden könnten.

Alles, was Sie von einer Seite bekommen können, ist der DOM-Inhalt der Seite.

+0

Jetzt sollten wir 'chrome.storage.local' verwenden. Jedenfalls ist es ein 5-jähriges Anwsser. – jiyinyiyong

22

Es ist das erste Mal, dass ich etwas wirklich falsch auf dieser Website gelesen habe. Erhalten tatsächliche Dokument Cookies von einer Erweiterung ist INDEED möglich.

Sie müssen nur diese beiden Dinge in Ihrem Manifest:

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

Ihre cookie_handler.js werden im selben Kontext jeder Lader Seite/Rahmen/iframe ausgeführt werden. versuchen, dort eine einzige Zeile zu setzen:

alert(document.cookie); 

und Sie werden sehen :)

+0

Bedeutet das, dass es möglich ist, eine Erweiterung wie Cookies von Firefox erlauben zu machen? Mit dieser Erweiterung kann der Benutzer für jede Site immer zulassen, Sitzung zulassen, blockieren, entfernen zulassen. Oder kann eine solche Erweiterung nicht für Chrome vorgenommen werden? – Louise

+0

gibt es Fehler: 'kann JavaScript cookie_handler.js für content_scripts nicht laden –

+1

@MuhammadAdeelZahid Sie müssen Ihr Cookie-Handler-Skript dort schreiben: P –

3

Wenn Sie schauen, Cookie-Informationen, ohne den Benutzer zu manipulieren, die die Website besuchen, (nützlich für so etwas wie Firefoxs TACO), sind Sie zur Zeit kein Glück. Sieht so aus, als würde Google an der experimentellen API arbeiten: Sie haben der experimentellen API kürzlich einen relativ vollständigen Cookie-Handler hinzugefügt:

Hoffentlich wird dies bald zur unterstützten API werden.

16

Derzeit die beste (die einfachste) Weg Website Cookies in Verlängerung zu bekommen, ist wie folgt:

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!'); 
    } 
}); 

So, jetzt Sie nicht benötigen Content-Skript für dieses aber vergessen Sie nicht Berechtigungen umfassen in Manifest:

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

Das funktionierte für mich. Es ist erwähnenswert, dass Sie diesen Code in das Hintergrundskript einfügen müssen. –