Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Einführung in die Verwendung von document.cookie in Javascript

黄舟
Freigeben: 2017-03-22 14:35:30
Original
1146 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Verwendung von document.cookie in Javascript sowie die Funktion zum Merken von Passwörtern und zum Speichern von Passwörtern mithilfe von Cookies vorgestellt

Cookie setzen

Jedes Cookie ist ein Name/Wert-Paar. Sie können document.cookie die folgende Zeichenfolge zuweisen:

document.cookie="userId=828";
Nach dem Login kopieren

Wenn Sie Wenn Sie mehrere Name/Wert-Paare gleichzeitig speichern möchten, können Sie Semikolons und Leerzeichen (;) verwenden, um sie zu trennen, zum Beispiel:

document.cookie="userId=828; userName=hulk";
Nach dem Login kopieren

Sie können in Cookie-Namen oder -Werten keine Semikolons (;) verwenden. , Komma (,), Gleichheitszeichen (=) und Leerzeichen.

Das lässt sich leicht im Namen des Cookies machen, aber der zu speichernde Wert ist undefiniert. Wie speichert man diese Werte? Die

-Methode wird mit der Escape()-Funktion codiert, die einige Sonderzeichen hexadezimal ausdrücken kann, zum Beispiel werden Leerzeichen als „20 %“ codiert, die in gespeichert werden können Cookie-Wert, und durch die Verwendung dieser Lösung kann auch das Auftreten verstümmelter chinesischer Zeichen vermieden werden. Zum Beispiel:

document.cookie="str="+escape("I love ajax");
Nach dem Login kopieren

entspricht: document.cookie="str=I%20love%20ajax";

Bei Verwendung der Escape()-Kodierung müssen Sie unescape() verwenden nach dem Extrahieren des Werts), um den ursprünglichen Cookie-Wert zu erhalten, der zuvor eingeführt wurde. Obwohl document.cookie wie eine Eigenschaft aussieht und ihr unterschiedliche Werte zugewiesen werden können. Es unterscheidet sich jedoch von allgemeinen Attributen, wenn Sie beispielsweise die folgenden zwei Anweisungen kontinuierlich ausführen:

document.cookie="userId=828";
document.cookie="userName=hulk";
Nach dem Login kopieren

Zu diesem Zeitpunkt behält der Browser zwei Cookies bei sind userId und userName, daher ähnelt das Zuweisen eines Werts zu document.cookie eher dem Ausführen einer Anweisung wie dieser:

document.addCookie("userId=828");
document.addCookie("userName=hulk");
Nach dem Login kopieren

Tatsächlich setzt der Browser Cookies auf diese Weise, wenn Sie Änderungen vornehmen möchten Um den Wert eines Cookies zu ändern, weisen Sie den Wert einfach neu zu, zum Beispiel:

document.cookie="userId=929";
Nach dem Login kopieren

Dadurch wird der Cookie-Wert namens userId auf 929 gesetzt.

Den Wert des Cookies ermitteln

Im Folgenden wird beschrieben, wie Sie den Wert des Cookies ermitteln. Der Wert des Cookies kann direkt aus document.cookie abgerufen werden:

var strCookie=document.cookie;
Nach dem Login kopieren

Dadurch wird eine Zeichenfolge erhalten, die aus mehreren durch Semikolons getrennten Name/Wert-Paaren besteht, die den Domänennamen Alle Cookies unter enthalten. Beispiel:

Nach dem Login kopieren

Es ist ersichtlich, dass alle Cookie-Werte nur gleichzeitig abgerufen werden können, der Cookie-Name jedoch nicht angegeben werden kann, um den angegebenen Wert zu erhalten. Dies ist der problematischste Teil davon Verarbeitung von Cookie-Werten.

Benutzer müssen diese Zeichenfolge selbst analysieren, um den angegebenen Cookie-Wert zu erhalten. Um beispielsweise den Wert von userId zu erhalten, können Sie Folgendes tun:

Nach dem Login kopieren

Auf diese Weise erhalten Sie den Wert von ein einzelnes Cookie

Mit einer ähnlichen Methode können Sie den Wert eines oder mehrerer Cookies ermitteln. Die Haupttechnik besteht immer noch in den zugehörigen Operationen von Zeichenfolgen und Arrays.

Legen Sie das Ablaufdatum für Cookies fest. Bisher handelte es sich bei allen Cookies um Single-Session-Cookies, das heißt, diese Cookies gehen nach dem Schließen des Browsers verloren. Tatsächlich werden diese Cookies nur im Speicher gespeichert ohne die entsprechenden Festplattendateien einzurichten.

In der tatsächlichen Entwicklung müssen Cookies häufig über einen längeren Zeitraum gespeichert werden, beispielsweise um den Anmeldestatus des Benutzers zu speichern. Dies kann mit den folgenden Optionen erreicht werden:

document.cookie="userId=828;
expires=GMT_String";
Nach dem Login kopieren

wobei GMT_String eine im GMT-Format ausgedrückte Zeitzeichenfolge ist. Diese Anweisung setzt das userId-Cookie auf die durch GMT_String dargestellte Ablaufzeit Das Cookie verschwindet und ist nicht mehr zugänglich. Zum Beispiel:

Wenn Sie ein Cookie so einstellen möchten, dass es nach 10 Tagen abläuft, können Sie das so machen:

<script language="JavaScript" type="text/javascript">
<!-- //获取当前时间
var date=new Date();
var expireDays=10; //将date设置为10天以后的时间
date.setTime(date.getTime()+expireDays*24*3600*1000); //将userId和userName两个cookie设置为10天后过期
document.cookie="userId=828; userName=hulk;
expire="+date.toGMTString(); //-->
</script>
Nach dem Login kopieren

Cookie löschen

Um ein Cookie zu löschen, können Sie dessen Ablaufzeit auf einen Zeitpunkt in der Vergangenheit festlegen, zum Beispiel:

<script language="JavaScript" type="text/javascript">
<!--
//获取当前时间
var date=new Date();
//将date设置为过去的时间
date.setTime(date.getTime()-10000);
//将userId这个cookie删除
document.cookie="userId=828; expire="+date.toGMTString();
//-->
</script>
Nach dem Login kopieren

Geben Sie den Pfad an, über den auf das Cookie zugegriffen werden kann. Wenn auf einer Seite ein Cookie erstellt wird, können standardmäßig auch andere Seiten im Verzeichnis, in dem sich die Seite befindet, auf das

-Cookie zugreifen. Wenn sich unter diesem Verzeichnis Unterverzeichnisse befinden, können Sie auch in den Unterverzeichnissen darauf zugreifen.

Um das Verzeichnis zu steuern, auf das Cookies zugreifen können, müssen Sie den Pfadparameter zum Setzen von Cookies verwenden. Die Syntax lautet wie folgt:

document.cookie="name=value; path=cookieDir";
Nach dem Login kopieren

wobei cookieDir das darstellt Verzeichnis, in dem auf Cookies zugegriffen werden kann. Beispiel:

document.cookie="userId=320; path=/shop";
Nach dem Login kopieren

bedeutet, dass das aktuelle Cookie nur im Shop-Verzeichnis verwendet werden kann.

Wenn Sie Cookies auf der gesamten Website verfügbar machen möchten, können Sie cookie_dir als Stammverzeichnis angeben, zum Beispiel:

document.cookie="userId=320; path=/";
Nach dem Login kopieren

Geben Sie den Hostnamen und den Pfad an, der auf Cookies zugreifen kann Der Hostname bezieht sich auf dieselben verschiedenen Hosts unter einer Domain, zum Beispiel: www.google.com und gmail.google.com sind

zwei verschiedene Hostnamen. Standardmäßig kann auf Cookies, die auf einem Host erstellt wurden, nicht auf einem anderen Host zugegriffen werden, sie können jedoch über den Domänenparameter gesteuert werden. Das Syntaxformat lautet:

document.cookie="name=value;
domain=cookieDomain";
Nach dem Login kopieren

Nehmen Sie Google als Beispiel, um hostübergreifend zu erreichen Zugriff, können Sie schreiben:

document.cookie="name=value;
domain=.google.com";
Nach dem Login kopieren

Auf diese Weise können alle Hoster unter google.com auf das Cookie zugreifen.

Umfassendes Beispiel: Aufbau einer universellen Cookie-Verarbeitungsfunktion Der Cookie-Verarbeitungsprozess ist relativ komplex und weist gewisse Ähnlichkeiten auf. Daher können mehrere Funktionen definiert werden, um die allgemeinen

-Vorgänge von Cookies abzuschließen und so eine Wiederverwendung des Codes zu erreichen. Häufig verwendete Cookie-Operationen und ihre Funktionsimplementierungen sind unten aufgeführt.

1.添加一个cookie:addCookie(name,value,expireHours) 该函数接收3个参数:cookie名称,cookie值,以及在多少小时后过期。

这里约定expireHours为0时不设定过期时间,即当浏览器关闭时cookie自动消失。该函数实现如下:

<script language="JavaScript" type="text/javascript">
<!--
function addCookie(name,value,expireHours){
       var cookieString=name+"="+escape(value);
       //判断是否设置过期时间
       if(expireHours>0){
          var date=new Date();
          date.setTime(date.getTime+expireHours*3600*1000);
          cookieString=cookieString+"; expire="+date.toGMTString();
       }
       document.cookie=cookieString;
}
//-->
</script>
Nach dem Login kopieren

2.获取指定名称的cookie值:getCookie(name)

该函数返回名称为name的cookie值,如果不存在则返回空,其实现如下:

<script language="JavaScript" type="text/javascript">
<!--
function getCookie(name){
       var strCookie=document.cookie;
       var arrCookie=strCookie.split("; ");
       for(var i=0;i<arrCookie.length;i++){
          var arr=arrCookie[i].split("=");
          if(arr[0]==name)return arr[1];
       }
       return "";
}
//-->
</script>
Nach dem Login kopieren

3.删除指定名称的cookie:deleteCookie(name)

该函数可以删除指定名称的cookie,其实现如下:

<script language="JavaScript" type="text/javascript">
<!--
function deleteCookie(name){
       var date=new Date();
       date.setTime(date.getTime()-10000);
       document.cookie=name+"=v; expire="+date.toGMTString();
}
//-->
</script>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Verwendung von document.cookie in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!