• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Funktion liefert im Chrome keinen Wert?!

#Sascha

New member
Die Funktion readCookie() liefert im Chrome-Browser immer "null", aber wieso?! Im Firefox z.B. funktioniert es.
Wie es aussieht wird das Cookie mit einem Wert angelegt, aber beim auslesen wird immer nur "null" zurückgegeben...

Was kann das Problem sein?

Code:
setTimeout(onLoad,80);

function createCookie(name,value,minutes) {
	if (minutes) {
		var date = new Date();
		date.setTime(date.getTime()+(minutes*1000*60));
		var expires = "; expires="+date.toGMTString();
	} else { 
		var expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0; i<ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function delCookie() {
	createCookie("scrollPos", 0, -1);
}

function onLoad() {
	var yScroll = readCookie("scrollPos");
	if (yScroll) {
		scrollTo(0, yScroll);
	}
	window.onscroll = function() {
		var yScroll;
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
		} else if (document.body) { // all other Explorers
			yScroll = document.body.scrollTop;
		}
		createCookie("scrollPos", yScroll, 5);
	}
}
 
wenn ich den Code richtig verstanden habe, dann sollte doch return c.substring(nameEQ.length,c.length); zurückgegeben werden, wenn ein Wert im Cookie steht? Oder nicht?

- - - Aktualisiert - - -

folgendes habe ich jetzt herausgefunden:

var ca = document.cookie.split(";"); gibt im Firefox für "ca" z.B. scrollPos=275 aus,
im Chrome hingegen wird nichts ausgegeben?!
 
wurde das cookie denn in beiden browsern korrekt gesetzt? jeder browser hat separate cookies. mir ist bei sowas beim testen auch schon einiges durcheinander geraten.
 
ok ich hab das Problem gefunden, Chrome lässt wohl bei lokalen Seiten das auslesen von Cookies nicht zu. (Sicherheitsaspekt?)
Wenn ich die Seite vom Webserver lade funktioniert es wie gewünscht.

Kann man dieses Verhalten bei Chrome irgendwie abstellen?
 
kannst du dir nicht gschwind einen lokalen webserver dafür installieren? meiner erfahrung nach ist das besser als dieses file gemurkse.
 
Danke für den Link!

Chrome könnte aber auch mal eine Meldung in der Konsole ausspucken, damit man nicht den halben Tag wegen dieser Eigenart verplempert!! :mad:
 
Das wird nicht das letzte mal sein, dass du viel Zeit wegen Browsereigenarten verschwendest :beaten:
Ich erlebe das gerade im Bereich Steuerung mit Touchscreen. Da macht scheinbar auch jeder Browser, was er will :dejection:
 
Zurück
Oben