2012-10-23 21 views
7

मैं स्वचालित रूप से तो मैं तैयार किया है एक extension.I डोमेन के लिए कुकीज़ देखने में सक्षम हूँ, लेकिन मैं किसी भी विधि उन्हें यहाँकुकी हटाएं क्रोम एक्सटेंशन

नष्ट करने के लिए नहीं मिला निश्चित डोमेन पर सभी कुकी को हटाना चाहते हैं मेरा कोड फ़ंक्शन मिटा है कूकी को सिर्फ एक बार कहा जाता है

कोई सुझाव?

function eraseCookie(name) { 
    document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 
} 

$(document).ready(function() { 


var cookies = document.cookie.split(";"); 
for (var i = 0; i < cookies.length; i++) 
{ 
    window.alert(cookies[i]); 
    eraseCookie(cookies[i].split("=")[0]); 
} 

}); 

मैं jquery का भी उपयोग कर रहा हूं लेकिन मुझे उसमें कोई समस्या नहीं दिखाई दे रही है!

{ 
     "name": "Gapa", 
     "version": "0.1", 
     "description": "", 
     "browser_action": { 
      "default_icon": "sigla.png", 
      "default_title": "", 
      "popup": "hello.html" 
     }, 
     "content_scripts": [ 
     { 
      "matches": ["*://*.google.ro/*"], 
      "js": ["jquery-1.8.2.min.js","cookie_handler.js"] 
     } 
     ], 
     "icons": { 
      "128":"sigla.png" }, 
     "permissions": [ 
     "cookies", 
     "tabs", 
     "*://*.google.ro/*" 
     ], 
     "manifest_version": 2 


    } 

ले: यहाँ कैसे मेरी स्क्रिप्ट फ़ाइल अब दिखाई देता है:

सब आप अपने मेनिफ़ेस्ट में कुकीज़ अनुमति प्रदान करनी होगी की
$(document).ready(function() { 

var cookies = document.cookie.split(";"); 
for (var i = 0; i < cookies.length; i++) 
{ 
    chrome.cookies.remove({"url": ".google.ro", "name":cookies[i].split("=")[0]}, function(deleted_cookie) { window.alert('deleted cookie') }); 
} 

}); 

उत्तर

19

पहले।

chrome.cookies.remove(object details, function callback); 

आप उस तरह उपयोग कर सकते हैं: सभी क्रोम की

दूसरा कुकीज़ एपीआई जहां समारोह को दूर localted है प्रदान करता है

chrome.cookies.remove({"url": "http://domain.com", "name": "cookieName"}, function(deleted_cookie) { console.log(deleted_cookie); }); 

चयनित डोमेन के लिए सभी कुकीज़ सूचीबद्ध करने के लिए इस का उपयोग करके देखें (आंतरिक हटाने का फ़ंक्शन इस डोमेन से सभी कुकीज़ को हटा देता है):

chrome.cookies.getAll({domain: "domain.com"}, function(cookies) { 
    for(var i=0; i<cookies.length;i++) { 
     chrome.cookies.remove({url: "http://domain.com" + cookies[i].path, name: cookies[i].name}); 
    } 
}); 

आपके manifest.json में जोड़ें:

"background": { 
    "scripts": ["background.js"] 
    }, 

और पृष्ठभूमि.जेएस में आप प्रस्तावित फ़ंक्शन शामिल करते हैं।

+0

आपके उत्तर के लिए पहले धन्यवाद मैंने संलग्न किया है मेरे प्रश्न और मेरे स्रोत में प्रकट फ़ाइल। दुर्भाग्य से काम नहीं कर रहा है! – opc0de

+0

आप 'नाम' गायब हैं: ' –

+0

फिक्स्ड कि फ़ंक्शन को केवल एक बार बुलाया जाता है और किसी भी कुकी पर कोई प्रभाव नहीं पड़ता है ... क्या गलत हो सकता है? – opc0de

4

मैं एक साथ आर्कादिउज़ के जवाब pieced और इस काम की है:

manifest.json में:

"background": { 
    "scripts": ["background.js"] 
    }, 
"permissions": [ 
    "cookies", 
    "https://*/", 
    "http://*/" 
    ] 

background.js में:

chrome.cookies.getAll({domain: ".mydomain.com"}, function(cookies) { 
    for(var i=0; i<cookies.length;i++) { 
     console.log(cookies[i]); 

     chrome.cookies.remove({url: "https://" + cookies[i].domain + cookies[i].path, name: cookies[i].name}); 
    } 
    }); 
संबंधित मुद्दे