2009-09-17 14 views

Odpowiedz

-3

Jeszcze lepiej, można użyć HTML5 localStorage:

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

Jeśli naprawdę chciał przeczytać ciasteczka z dowolnej witryny użytkownik jest obserwując, jak pisał Dan, nie jest to możliwe, ponieważ naprawdę można zrobić złe rzeczy.

Wszystko, co można uzyskać ze strony, to zawartość strony DOM.

+0

Teraz powinniśmy użyć 'chrome.storage.local'. W każdym razie to 5-lat temu anwser. – jiyinyiyong

22

Po raz pierwszy przeczytałem coś naprawdę nie tak na tej stronie. Uzyskiwanie rzeczywistych plików cookie dokumentów z rozszerzenia to INDEED możliwe.

wystarczy te dwie rzeczy w swoim manifeście:

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

twoi cookie_handler.js będą realizowane w tym samym kontekście każdej strony ładowarka/ramki/iframe. spróbować umieścić tam jedną linię:

alert(document.cookie); 

i widać :)

+0

Czy to oznacza, że ​​możliwe jest przedłużenie jak pliki cookie z przeglądarki Firefox? To rozszerzenie pozwala użytkownikowi dla każdej witryny na Zezwalaj zawsze, Zezwalaj na sesję, Zablokuj, Usuń. A może takiego rozszerzenia nie można wprowadzić w Chrome? – Louise

+0

daje błąd: 'nie można załadować pliku javascript plik_readler.js dla content_scripts' –

+1

@MuhammadAdeelZahid Musisz napisać tam skrypt obsługi plików cookie: P –

3

Jeśli szukasz manipulować informacjami cookie, bez konieczności wizyty użytkownika na stronie, (przydatne na coś takiego Firefoksa TACO), w którym aktualnie jesteś pecha. Wygląda na to, że Google nad nim pracuje: niedawno dodali relatywnie kompletny program obsługi plików cookie do eksperymentalnego interfejsu API: chrome.experimental.cookies

Mam nadzieję, że wkrótce przejdzie on do obsługiwanego interfejsu API.

16

Obecnie najlepszy (najprostszy) sposób, aby uzyskać witryn cookies w rozszerzeniu jest tak:

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

Więc teraz nie trzeba skrypt zawartości dla tego ale nie zapomnij podać uprawnienia w manifeście:

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

To działało dla mnie. Warto wspomnieć, że ten kod należy umieścić w skrypcie w tle. –

Powiązane problemy