Moin!
Ich bastele gerade an einem Bookmarklet, das als eine Art Cookie-Editor fungieren soll. Das Auslesen, Ändern und Speichern der Cookies klappt dabei auch wunderbar, allerdings werden bestehende Cookies nicht überschrieben, sondern der Browser kennt dann zwei Cookies gleichen Namens. Das Problem könnte dabei das Setzen des Cookies als auch die Verfallszeit sein. Mein (der Übersichtlichkeit halber formatierter) Code sieht bislang so aus:
if (document.cookie) {
var kekse = document.cookie.split(';');
var w = window.open('about:blank', '_blank');
for(i = 0; i < kekse.length; ++i)
w.document.write('<input type="text" value="' + kekse[i] +
'" size="50">');
w.document.write('<button type="button" onclick="' +
'var c=\'\';var ins=document.getElementsByTagName(\'input\');'
+ 'for(i=0;i<ins.length;++i)document.cookie=ins[i].value;'
+ '">Speichern</button>');
}
else
alert('Sie haben keine Cookies von dieser Seite.');
Als Bookmarklet: <javascript:if(document.cookie){var kekse=document.cookie.split(';');var w=window.open('about:blank','_blank');for(i=0;i<kekse.length;++i)w.document.write('<input type="text" value="'+kekse[i>+'" size="50">');w.document.write('<button type="button" onclick="var c='';var ins=document.getElementsByTagName('input');for(i=0;i<ins.length;++i)document.cookie=ins[i].value;">Speichern</button>');}else alert('Sie haben keine Cookies von dieser Seite.');]
Dieses Bookmarklet benötigt die Erlaubnis, ein Popup-Fenster zu öffnen und Cookies zu setzen.
Leider verfallen die so gesetzten Cookies beim Schließen des Browsers, wobei die bearbeiteten „Originale“ häufig länger haltbar sind und diese Originale von den getesteten Browsern (Gecko 1.8 und Internet Explorer 5.23 für Mac) bevorzugt werden.
Was sind denn konstruktive Vorschläge, hier weiterzukommen?
Viele Grüße,
Robert