2011-03-28 99 views
6

我想從Chrome擴展程序中刪除Cookie(根據某些條件)。 根據documentationchrome.cookies.remove,它期望一個對象的字段url(與Cookie關聯的URL)和name(要移除的cookie的名稱)。刪除Chrome擴展程序中的Cookie

現在cookie具有以下字段:name, value, domain, hostOnly, path, secure, httpOnly, session, expirationDate, storeId但沒有url。如何獲取特定cookie的URL,以便我可以刪除它?

僅供參考我的cookies的一個看起來是這樣的:

domain: ".google.com" 
expirationDate: 1364393586 
hostOnly: false 
httpOnly: false 
name: "PREF" 
path: "/" 
secure: false 
session: false 
storeId: "0" 
value: "ID=8<snip>u" 

回答

5

一些嘗試後,在這裏的錯誤是我如何獲得URL,這似乎一切(也許除了file://

工作
function extrapolateUrlFromCookie(cookie) { 
    var prefix = cookie.secure ? "https://" : "http://"; 
    if (cookie.domain.charAt(0) == ".") 
     prefix += "www"; 

    return prefix + cookie.domain + cookie.path; 
} 
1

我通過http://www.google.com URL和它的工作。也許它只是想要任何匹配domain模式的網址。

chrome.cookies.remove({url:"http://www.google.com", name: "PREF"}); 

(你還需要有google.com域名許可)

+0

感謝這似乎工作(雖然不'在httpOnly'餅乾...) – Motti 2011-03-29 09:02:01