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

[FRAGE] Cookie erkannt obwohl nicht gesetzt?

Daktari

New member
Guten Morgen!
Ich bin seit einigen Tagen schon am verzweifeln..
Beim ersten Besuch unserer Seite soll ein Fenster gezeigt werden mit aktuellen Neuigkeiten.
Unsere Seite ist in Deutsch und auch in Englisch online. Die englischen Seiten liegen in einem Unterverzeichnis "/EN/".
Wenn ich den identischen Code auf einer englischen Seite nutze funktioniert das auch soweit, dass das Fenster angezeigt wird. Zwar bei jedem einzelnen Aufruf der Seite, aber darum kümmere ich mich dann erst später.
Im Moment funktioniert eben dieser identische Code auf den deutschen Seiten im Hauptverzeichnis des Servers nicht, das Fenster wird hier nicht angezeigt. Ich habe auch schon einen anderen Browser versucht.
Hier erst mal der Code:
Code:
	<script type="text/javascript">
		/* set cookie for modal */
		var cname = "modal-home";
		var cvalue = "true";
		var d = new Date();
		d.setTime(d.getTime() + (20*60));// after 20min delete cookie modal-home
		var expires = "expires="+ d.toUTCString();
		document.cookie = cname + "=" + cvalue + "; " + expires;
		$(document).ready(function() {
		/* if theres no cookie modal-home reveal modal */ 
		if ( !document.cookie.indexOf("modal-home=true") ) {
			$("#myModal").reveal();
alert('test');
		}
		});
	</script>
	<div id="myModal" class="reveal-modal medium">
		<div class="inside text-center">
......
		</div>
		<a class="close-reveal-modal">×</a>
	</div>

Das Test-Fensterchen, das ich im Code eingefügt habe, wird auf der englischen Seite angezeigt, aber nicht auf der deutschen Seite, daher denke ich dass es ein Problem mit dem Cookie gibt. Der zugehörige JS-Code ist ausgelagert und wird in beiden Fällen offensichtlich korrekt geladen. Im Debugger sehe ich auch dass das Fenster vorhanden ist, aber leider nicht angezeigt wird.
Ich habe mit Cookies leider noch keine Erfahrung! Kann mir bitte jemand helfen?

Besten Dank!
Stefan
 
Also. Bei mir sieht die Deutsche so aus:
daktari01.jpg
Ist das so wie es sein soll? Wenn nicht, was stimmt nicht?

Und zweitens zeigt der Firefox bei mir einige Cookie Hinweise an:
daktari02.jpg
Wie sieht es damit aus? Geben die Warnungen das wider, was gewünscht ist oder eher nicht? Falls nicht hängt das unerwartete Verhalten vielleicht damit zusammen?
 
Das sieht natürlich gut aus. Ich habe das jetzt auf mehreren Rechnern in verschiedenen Browsern versucht, aber das Fenster mit dem Hexenhaus kam niemals auf dieser deutschen Seite. Der Cookie-Hinweis tritt aber immer so auf wie er das tun soll.
Wird bei Dir die deutsche und die englische Seite identisch dargestellt? Was kann das denn noch sein? Ich bin verwirrt... Dann liegt kein Fehler vor, aber auf meinen Rechnern geht es nicht?! Der Debugger meldet auch keinen Fehler.

Was sollte ich mit den Cookie-Hinweisen machen? Da bin ich wirklich hilflos. Gibt es dann auch einen anderen Code für Google-Analytics? Oder muss ich prüfen ob ich JS oder jQuery aktuallisieren muss?
 
Englisch sieht so aus:
daktari03.jpg

Deine Anzeigeabweichungen resultieren wahrscheinlich aus der ganzen Testerei. Im Firefox gibt es die Funktion bereinigen. Die am besten vor jedem neuen Test aufrufen.

Oder du verwendest entfernte Rechner die die Tests machen, z. B. BrowserStack.
Ich habe aber keine Erfahrung mit Cookie Tests, das brauchte ich bisher nicht, weil ich Cookies über den http header steuere.
 
Ich habe mir jetzt Chrome installiert. Damit ging es dann auf anhieb. Mit Firefox und Edge geht es nach wie vor nicht.
Ich habe auf der Seite https://samesite-sandbox.glitch.me/ die Cookies getestet, und das Ergebnis dort ist dann auch dass die Seite nur auf dem Chrome vollständig funktionieren kann, auch wenn Firefox und Edge auf dem neusten Stand sind.
Also muss ich was mit den Cookies machen.. Aber was? Ich kenn mich wirklich nicht so gut aus damit.
Ich werde mir mal z.B. den aktuellen Code von Google-Analytics anschauen und den ggf. auf unserer Seite austauschen. Könnte das etwas bringen?
Wie könnte ich denn das umsetzen? Ich habe das hier im Web gefunden:
response.setHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
Kann ich das so im .htaccess einfügen? Oder ganz normal im HTML-Code?

Ach ja.. wenn doch mein Browser Probleme mit den Cookies hat, weshalb funktioniert dann die englische Seite immer und die deutsche Seite nie? Im identischen Browser?
 
Zuletzt bearbeitet:
Kann mir bitte noch mal jemand weiterhelfen? Ich weiß gerade wirklich nicht wo ich den Hebel ansetzen soll. Ich dreh mich hier im Kreis weil ich das logisch einfach nicht verstehe.
 
Hast du mal von Anfang an neu angefangen? Also erst einmal nur 1 Sache die in allen Browsern funktioniert wie gewünscht und ohne Hinweis oder Fehler in der Konsole bleibt. Dann die zweite Sache/Attribut/Feld dazu. Fehler- und hinweisfreie Funktion wie erwartet? Dann weiter. Und so weiter.
Wenn es hakt sofort stoppen und fragen und/oder gurgeln.

Also immer ein einzigen Schritt machen und genauestens testen und in allen Browsern immer die Konsole offen halten. Der Weg ist bei dieser Strategie das Ziel. Es geht immer darum, eine einzelne kleine Ursache zu isolieren, um genau diese reproduzieren, dokumentieren und später auch beheben zu können.
 
Zurück
Oben