Samstag, 22. Januar 2011

Große Cookies: Vorbereitung


Wer mal mit Cookies gearbeitet hat, wird sich die Frage gestellt haben, wie groß diese denn maximal werden können und wie viele man überhaupt anlegen kann. Weil es sehr viele unterschiedliche Browser und noch verschiedenere Einstellungen gibt lassen wir doch den Computer einfach einen Cookie-Check durchführen.

Dazu brauchen wir nur JavaScript und aktivierte Cookies.



Es ist sinnvoller zuerst zu testen wie viele Cookies ein Browser annimmt, damit beim Testen keine wichtigen Cookies "überschrieben" werden. Dazu erstellen wir einfach sehr viele Cookies und prüfen dann, wie viele davon noch vorhanden sind.
Eine Schleife ist da die weniger gute Idee, da JavaScript dann erst mit anderem Code weitermacht wenn die Schleife durchlaufen ist. (Wenn nicht schon vorher der Browser das Script ausbremst.) Also arbeiten wir mit window.setTimeout()
Achtung: Vorhandene Cookies der Domain werden glöscht!
function maxNumCookies(n){
if(n>0){
document.cookie=n+'=true';
--n;
window.setTimeout('maxNumCookies('+n+')',0);
} else {
var maxCookies=document.cookie.split(';').length;
//Loeschen der erstelltel Testcookies
for (var = i; i <= maxCookies; ++i){
document.cookie=i+'=true; expires=Thu, 01-Jan-70 00:00:01 GMT';
}
}
}

maxNumCookies(500); // Aufruf der Funktion, 500 Cookies sind verhaeltnismaessig viel

Als nächstes testen wir die maximale Länge eines Cookies indem wir einen Cookie immer größer werden lassen und dann schauen, wie viele Zeichen hineinpassen:

function maxSizeCookies(n,inhalt) {
if ( n > 0 ) {
// Um das Testen zu beschleunigen hanegen wir jedes mal gleich 10 Zeichen an
inhalt+='xxxxxxxxxx';
document.cookie='maximSize='+inhalt;
--n;
window.setTimeout('maxSizeCookies('+n+',\''+inhalt+'\')',0);
} else {
if((maxSize=document.cookie.match(/maximSize=[x]+/))!=null){
maxSize=maxSize[0].length; // Achtung: Der Name wird mitgezaehlt
} else {
maxSize=0;
}
}
}
// Aufruf der Funktion, die 1000 werden mit 10 multipliziert
// also wird bis zu einer Laenge von 10000 Zeichen getestet
maxSizeCookies(1000,'');

In Kürze folgt die Durchführung: Das Aufsplitten & Speichern und das Auslesen & Zusammenfügen.
Bis dahin ein frohes Schaffen wünscht Harry

2 Kommentare:

  1. [...] Impressum « Große Cookies: Vorbereitung [...]

    AntwortenLöschen
  2. Der Wunsch unterscheidet sich eben stark vom Willen und dass etwas erwunscht ist bewirkt noch nicht dass man daran glaubt. Proust .Die einen mochten mehr Verfolger und Verfolgte auf Twitter haben die anderen mochten nur die unter ihren Kontakten wissen die auch lesen und mogen was sie schreiben sonst klickt noch jemand auf dislike und wieder andere wunschen sich Internetnutzer mit gutem technischen Knowhow die nicht uber Cookies klagen und sich einfach so verhalten wie sie es im Leben jenseits des World Wide Web auch taten..Weil wir Social Media Aktivitaten messen wollen arbeiten wir weiter am Backend unseres Share Buttons und sind sicher dass wir fur 2011 eine neue Formel fur den Wert eines Kontaktnetzwerkes herausbringen werden die die Resonanz auf PR-Aktivitaten sichtbar macht.. People who are not a member often have a cookie as well since Facebook Connect installs these cookies and there is a big chance of coming along a web site with Facebook Connect implemented.

    AntwortenLöschen