Poniżej znajduje się plik cookie JavaScript, który jest zapisywany na komputerze użytkownika przez 12 miesięcy.
Po ustawieniu pliku cookie w naszej domenie głównej, na przykład w example.com
przypadku odwiedzenia przez użytkownika poddomeny, takiej jak test.example.com
, musimy nadal identyfikować aktywność użytkownika w naszej „testowej” subdomenie.
Ale przy obecnym kodzie, gdy tylko opuszczą www.example.com
i odwiedzą test.example.com
, nie są już oznaczani jako „HelloWorld”.
Czy ktoś byłby w stanie pomóc z moim kodem, aby zezwolić na odczyt pliku cookie w subdomenach?
<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
źródło
źródło
hosts
pliku i aliasing coś podobnegomyserver.local
do127.0.0.1
. Następnie możesz użyć tego, aby uzyskać dostęp do lokalnego serwera (i podczas ustawiania plików cookie) i miejmy nadzieję, że wszystko powinno działać.encodeURI()
&decodeURI()
metod dla nazwy i wartości pliku cookie, aby obsłużyć każdą konwersję, która musiałaby mieć miejsce. tjdocument.cookie = encodeURI(cookieName) +"=" + encodeURI(cookieValue)
.sub.example.com
nie można ustawić pliku cookie do.example.com
używania javascriptChcesz:
Zgodnie z RFC 2109 , aby plik cookie był dostępny dla wszystkich subdomen, należy umieścić
.
przed nazwą domeny.Ustawienie ścieżki = / spowoduje, że plik cookie będzie dostępny w całej określonej domenie (aka
.example.com
).źródło
.
domeny.Oto działający przykład:
Jest to ogólne rozwiązanie, które pobiera domenę główną z obiektu lokalizacji i ustawia plik cookie. Cofnięcie jest spowodowane tym, że nie wiesz, ile masz subdomen, jeśli w ogóle.
źródło
Możesz także skorzystać z MDN JavaScript Cookie Framework i wykonać:
źródło