Thread Cookies löschen ...: ... aber nicht alle (2 answers)
Opened by MartinR at 2007-01-23 12:59

murphy
 2007-01-23 15:10
#11818 #11818
User since
2004-07-19
1776 articles
HausmeisterIn
[Homepage]
user image
Man kann natürlich in den meisten Browsern im Cookie-Manager die Cookies von Hand einzeln löschen. Wenn der Filter, den Du anwenden möchtest aber relativ gut programmatisch beschreibbar ist, dann kannst Du es bei Mozilla basierten Browsern zum Beispiel auch wie folgt per JavaScript erledigen:

* Öffne den Venkman JavaScript-Debugger (Im SeaMonkey über das Menü unter Tools > Webentwicklung > JavaScript Debugger zu erreichen -- Firefox habe ich gerade nicht zur Hand) um privilegierte JavaScript-Befehle interaktiv ausführen zu können.

* Gib folgendes (außer den Kommentaren ;-) nacheinander in die JavaScript Kommandozeile ein:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Eine Prüffunktion definieren -- hier löschen wir alles, was nicht von
// perl-community.de kommt:
var sd = function (ck) { return !ck.host.match(/perl-community\.de$/); };

// Die relevanten XPCOM-Schnittstellendefinitionen laden:
var ICookieManager = Components.interfaces.nsICookieManager;
var ICookie = Components.interfaces.nsICookie;

// Das Cookiemanager-Objekt auslesen und den JavaScript-Wrapper
// des zurückgegebenen Objektes an die korrekte XPCOM-Schnittstelle binden:
var cm = Components.classes["@mozilla.org/cookiemanager;1"].getService().QueryInterface(ICookieManager);

// Einen Cache für die zu löschenden Cookies anlegen:
var dc = [];

// Einen Enumerator über alle Cookies holen:
var ce = cm.enumerator;

// Alle Cookies durchlaufen und die zu löschenden speichern:
while (ce.hasMoreElements()) { if (sd(ce.getNext().QueryInterface(ICookie))) dc[dc.length] = ck; }

// Alle zu löschenden Cookies tatsächlich wegwerfen:
for (var i in dc) { var ck = dc[i]; cm.remove(ck.host, ck.name, ck.path, false); }


Und schon sind sie weg...

Weitere Informationen finden sich in der Dokumentation der XPCOM-Schnittstellen nsICookieManager und nsICookie...
When C++ is your hammer, every problem looks like your thumb.

View full thread Cookies löschen ...: ... aber nicht alle