Robert Bienert: Cookies überschreiben

Beitrag lesen

Moin!

Das beschriebene Problem existiert nicht mehr, nachdem ich die Split-Anweisung in

var kekse = document.cookie.split('; ');

geändert habe. Allerdings musste ich feststellen, dass KHTML-Browser u.U. (bei mir Safari 1.3.2) die nachträgliche Manipulation gesetzter Cookies per JavaScript nicht mögen – jedenfalls unter Verwendung dieses Codes:

if (document.cookie) {  
    var kekse = document.cookie.split('; ');  
    var w.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('[code lang=html]<button type="button" onclick="
~~~' +  
        '`var ins=document.getElementsByTagName(\'input\');`{:.language-javascript}' +  
        '`for(i=0;i<ins.length;++i)document.cookie=ins[i].value;`{:.language-javascript}' +  
        '`window.close()`{:.language-javascript}`">Speichern</button>`{:.language-html}');  
}  
else  
    alert('Sie haben keine Cookies von dieser Seite.');[/code]  
  
Ist hier irgendwo ein Fehler versteckt bzw. könntet ihr mal bitte dieses Bookmarklet ausprobieren (obiger Code in einer Zeile für Copy&Paste in die Adresszeile):  
  
javascript:if(document.cookie){var kekse=document.cookie.split('; ');var w.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 ins=document.getElementsByTagName(\'input\');for(i=0;i<ins.length;++i)document.cookie=ins[i].value;window.close()">Speichern</button>');}else alert('Sie haben keine Cookies von dieser Seite.');  
  
Vielen Dank und viele Grüße,  
Robert