Ich versuche ein System einzurichten, wo ein Cookie erstellt wird, wenn ein Benutzer auf einer bestimmten Seite landet.JavaScript Redirect basierend auf dem Vorhandensein von Cookies
zum Beispiel: Wenn ein Benutzer zu .com/jp/a3 geht, wird ein Cookie erstellt.
Ich verwende diesen Code, um den Cookie zu erstellen und es scheint, den Cookie auf dieser Seite zu erstellen.
<script>
document.cookie = "name_of_cookie=a3; expires=31 Dec 2017 12:00:00 UTC; path=/"
</script>
Ich habe derzeit Seiten .com/jp/a1 durch .com/jp/a3 erstellt. Es besteht also die Möglichkeit, dass drei Cookies erstellt werden.
Beim nächsten Besuch des Benutzers möchte ich, dass der Browser nach diesen Cookies sucht und auf diese Seite umleitet, wenn ein Nutzer die normale Zielseite aufruft. Wenn ein Benutzer mehrere Seiten besucht hat, möchte ich, dass die Priorität auf die Seite gesetzt wird, die sie zuerst besucht haben. (Dies kann bedeuten, einige if else-Anweisungen in mein Javascript zu codieren, um das Cookie zu setzen, das ich annehme?) Wenn das schwierig ist, würde ich damit zufrieden sein, einfach durch die Liste a1-a3 als a1 mit der höchsten Priorität und a3 als niedrigster zu gehen.
Ich habe versucht, den folgenden Code zu meiner website.com/index.html Datei hinzuzufügen, aber habe kein Glück.
<script>
function getCookie(cname) {
var name = name_of_cookie + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var redirect = getCookie("name_of_cookie");
if (redirect != "") {
window.location = "http://www.website.com/jp/" + redirect;
} else {
window.location = "http://www.website.com/"
}
}
checkCookie();
</script>
Ein Problem, ich glaube, ich kann, konfrontiert werden, ist, dass, während ich auf den a3.com Seiten bin, kann ich das Cookie in meinem Speicher zu sehen, aber wenn ich zu meinem index.html Seite gehen Ich kann den Cookie in meinem Speicher nicht sehen. Ich habe den Pfad zu/festgelegt, wird das Cookie nur im .com/jp/Unterordner verfügbar machen, oder sollte es auf der .com/index.html Seite erreichbar sein?
Vielen Dank im Voraus für jede Hilfe, die jemand zur Verfügung stellen könnte.
*** "Ich habe versucht, den folgenden Code zu meiner Website hinzuzufügen: /index.html"*** - ist Ihr Server für die Ausführung von' php'inside 'html' konfiguriert? –
Das ist eine sehr gute Frage. und ich bin darüber nicht positiv. Vielleicht ist es am besten, sich an Javascript zu halten. :) – rycankun
Entweder ändern Sie index.html Erweiterung zu. PHP oder verwenden Sie JavaScript für die Umleitung. Sie können die Cookies auch auf der Client-Seite lesen: https://www.w3schools.com/js/js_cookies.asp –