2012-11-23 35 views
1

我正在研究一個帶有按鈕和彈出式覆蓋的Google Chrome擴展程序。在此擴展程序中,我爲用戶設置並刪除了Cookie。在開發過程中,擴展正在向localhost發出請求:8080,並且(我認爲)將cookie設置爲localhost作爲域。如何查看通過谷歌瀏覽器擴展設置的Cookie?

問題是,我無法弄清楚如何從Chrome瀏覽器的列表中查看這些cookie。 Firefox有一個簡單的功能,可以查看各種主機名所設置的所有cookie,並且Chrome似乎也是如此(儘管我對Chrome中的開發人員工具不太熟悉)。但是,在Chrome的Cookie列表中,我無法找到任何爲本地主機設置的Cookie,也無法爲我的擴展程序找到任何Cookie。我也嘗試了一些第三方cookie的擴展 - 也沒有運氣。

由擴展程序設置的Cookie是否與由普通網站設置的Cookie出現在相同的地方?如果是這樣,爲什麼我沒有看到他們?幫助讚賞。謝謝!

回答

1

是的,他們出現在樣本的地方..我寫了一個示例擴展示例;屏幕截圖測試此爲developer.chrome.com域後採取

enter image description here

示例擴展:

的manifest.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; 
0

好吧,我想通了。這是一個額頭sla子,但我會在這裏發佈答案,以防其他人需要幫助。

如果您檢查疊加層元素,則疊加層擴展名的cookie僅顯示在「開發人員工具」中。也就是說,如果您關閉疊加層並點擊扳手按鈕,開發人員工具,資源,Cookie,那麼您將看到的唯一一項就是底層頁面的Cookie。

爲了查看覆蓋範圍擴展的Cookie,請右鍵單擊覆蓋範圍內的「INSERT元素」。 cookie會顯示在那裏,它們所附的「域」是擴展的唯一標識(kackjckjckjckcjckjckcjkcjckcj或what-have-you)。

隨機附註:在撰寫本文時,無論您將過期設置爲何時,Jquery cookies插件始終會在會話中殺死您的cookie。爲了讓我的cookies在瀏覽器關閉之後保持(生存),我不得不包含老式的setCookie()和getCookie()函數,並且擺脫了Jquery cookie。

0

在瀏覽器 - 登陸:

chrome://settings/cookies 

我只是將其設置爲地址書籤鉻 - 然後只需點擊我的書籤時,我想看看餅乾

相關問題