2009-09-17 36 views

Trả lời

-3

Thậm chí tốt hơn, bạn có thể sử dụng HTML5 LocalStorage:

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

Nếu bạn thực sự muốn đọc các tập tin cookie của trang web bất kỳ người sử dụng xem, như Dan đã viết, nó không phải là có thể, như thực sự những điều xấu có thể được thực hiện.

Tất cả những gì bạn có thể nhận được từ một trang là nội dung trang DOM.

+0

Bây giờ chúng ta nên sử dụng 'chrome.storage.local'. Dù sao thì đó là một năm năm trước đây. – jiyinyiyong

22

Đây là lần đầu tiên tôi đọc nội dung nào đó thực sự sai trên trang web này. Nhận cookie tài liệu thực tế từ tiện ích là INDEED có thể.

bạn chỉ cần hai điều này trong biểu hiện của bạn:

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

cookie_handler.js của bạn sẽ được thực hiện trong bối cảnh tương tự của mỗi trang loader/khung/iframe. cố gắng đặt ở đó một dòng duy nhất:

alert(document.cookie); 

và bạn sẽ thấy :)

+0

Điều này có nghĩa là có thể tạo phần mở rộng như Permit Cookies từ Firefox? Phần mở rộng đó cho phép người dùng cho mỗi trang web Luôn cho phép, Cho phép phiên, Chặn, Xóa. Hoặc có thể tiện ích mở rộng này không được thực hiện cho Chrome? – Louise

+0

nó cho lỗi: 'không thể tải javascript cookie_handler.js cho content_scripts' –

+1

@MuhammadAdeelZahid Bạn cần phải viết tập lệnh xử lý cookie của bạn ở đó: P –

3

Nếu bạn đang tìm kiếm để thao tác thông tin cookie mà không cần người dùng phải truy cập vào các trang web, (hữu dụng cho một cái gì đó giống như FireFox của TACO), bạn hiện đang trên may mắn. Dường như Google làm việc trên nó mặc dù: gần đây họ đã thêm một trình xử lý cookie tương đối hoàn chỉnh vào API thử nghiệm: chrome.experimental.cookies

Hy vọng điều này sẽ sớm được chuyển sang API được hỗ trợ.

16

Hiện nay (đơn giản nhất) Cách tốt nhất để có được các tập tin cookie trang web trong phần mở rộng là như thế này:

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

Bây giờ bạn không cần kịch bản nội dung cho này nhưng đừng quên để bao gồm quyền vào tệp kê khai:

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

Điều này làm việc cho tôi. Điều đáng nói đến là bạn cần phải đặt mã này trên tập lệnh nền. –

Các vấn đề liên quan