2011-03-28 16 views
6

के भीतर से कुकी को निकालना मैं क्रोम एक्सटेंशन के भीतर से कुकी (कुछ मानदंडों के अनुसार) को हटाना चाहता हूं। chrome.cookies.remove के अनुसार url (कुकी से जुड़े यूआरएल) और name (निकालने के लिए कुकी का नाम) फ़ील्ड के साथ एक ऑब्जेक्ट की अपेक्षा करता है।क्रोम एक्सटेंशन

अब एक cookie निम्नलिखित क्षेत्रों है: name, value, domain, hostOnly, path, secure, httpOnly, session, expirationDate, storeId लेकिन कोई url। मैं एक विशिष्ट कुकी का यूआरएल कैसे प्राप्त करूं ताकि मैं इसे हटा सकूं?

संदर्भ के लिए मेरी कुकीज़ में से एक इस तरह दिखता है:

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

उत्तर

5

कुछ परीक्षण के बाद और यहाँ त्रुटि (आप भी google.com के लिए डोमेन अनुमति की आवश्यकता है) है कि कैसे मैं 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 यूआरएल के रूप में पारित किया और यह काम किया। शायद यह सिर्फ यूआरएल चाहता है जो domain पैटर्न से मेल खाता है।

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

+0

धन्यवाद यह काम करने के लिए प्रतीत होता है (हालांकि 'httpOnly' कुकीज़ पर नहीं ...) – Motti

संबंधित मुद्दे