Unten finden Sie ein JavaScript-Cookie, das 12 Monate lang auf dem Computer des Benutzers geschrieben wird.
Nachdem wir das Cookie in unserer Hauptdomäne gesetzt haben, z. B. example.com
sollte der Benutzer eine Subdomain wie besuchen test.example.com
, müssen wir weiterhin die Aktivität des Benutzers in unserer "Test" -Unterdomäne identifizieren.
Mit dem aktuellen Code werden sie jedoch nicht mehr als "HelloWorld" gekennzeichnet , sobald sie das Hotel verlassen www.example.com
und besuchen test.example.com
.
Kann jemand mit meinem Code helfen, damit das Cookie über Subdomains hinweg gelesen werden kann?
<script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate;
</script>
javascript
cookies
Evan
quelle
quelle
hosts
Datei zu bearbeiten und so etwas wiemyserver.local
zu aliasen127.0.0.1
. Dann können Sie damit auf Ihren lokalen Server zugreifen (und beim Setzen von Cookies), und hoffentlich sollte alles funktionieren.encodeURI()
&decodeURI()
Methoden für den Cookie-Namen & -Wert, um jede Konvertierung durchzuführen, die stattfinden müsste. dhdocument.cookie = encodeURI(cookieName) +"=" + encodeURI(cookieValue)
.sub.example.com
kann kein Cookie für die.example.com
Verwendung von Javascript gesetzt werdenSie wollen:
Gemäß dem RFC 2109 , ein Cookie für alle Sub - Domains zur Verfügung zu haben, müssen Sie setzen
.
vor Ihrer Domäne.Durch Festlegen des Pfads = / wird das Cookie in der gesamten angegebenen Domäne (auch bekannt als
.example.com
) verfügbar sein .quelle
.
vor der Domäne einzuschließen.Hier ist ein Arbeitsbeispiel:
Dies ist eine generische Lösung, die die Stammdomäne aus dem Standortobjekt entnimmt und das Cookie setzt. Die Umkehrung ist, weil Sie nicht wissen, wie viele Subdomains Sie haben, wenn überhaupt.
quelle
Sie können auch das MDN JavaScript Cookie Framework verwenden und Folgendes tun:
quelle