JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript -Cookies


Mit Cookies können Sie Benutzerinformationen auf Webseiten speichern.


Was sind Cookies?

Cookies sind Daten, die in kleinen Textdateien auf Ihrem Computer gespeichert werden.

Wenn ein Webserver eine Webseite an einen Browser gesendet hat, wird die Verbindung beendet und der Server vergisst alles über den Benutzer.

Cookies wurden erfunden, um das Problem zu lösen, "wie man Informationen über den Benutzer speichert":

  • Wenn ein Benutzer eine Webseite besucht, kann sein Name in einem Cookie gespeichert werden.
  • Wenn der Benutzer die Seite das nächste Mal besucht, „merkt“ sich das Cookie seinen Namen.

Cookies werden in Name-Wert-Paaren gespeichert wie:

username = John Doe

Wenn ein Browser eine Webseite von einem Server anfordert, werden der Anfrage Cookies hinzugefügt, die zu der Seite gehören. Auf diese Weise erhält der Server die notwendigen Daten, um sich Informationen über Benutzer zu "merken".

Keines der folgenden Beispiele funktioniert, wenn in Ihrem Browser die Unterstützung lokaler Cookies deaktiviert ist.


Erstellen Sie ein Cookie mit JavaScript

document.cookie JavaScript kann mit der Eigenschaft Cookies erstellen, lesen und löschen .

Mit JavaScript kann ein Cookie wie folgt erstellt werden:

document.cookie = "username=John Doe";

Sie können auch ein Ablaufdatum (in UTC-Zeit) hinzufügen. Standardmäßig wird das Cookie beim Schließen des Browsers gelöscht:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

Mit einem Pfadparameter können Sie dem Browser mitteilen, zu welchem ​​Pfad das Cookie gehört. Standardmäßig gehört das Cookie zur aktuellen Seite.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";


Lesen Sie ein Cookie mit JavaScript

Mit JavaScript können Cookies wie folgt gelesen werden:

let x = document.cookie;

document.cookiegibt alle Cookies in einer Zeichenfolge zurück, ähnlich wie: cookie1=value; cookie2=wert; cookie3=wert;


Ändern Sie ein Cookie mit JavaScript

Mit JavaScript können Sie ein Cookie genauso ändern, wie Sie es erstellen:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

Das alte Cookie wird überschrieben.


Löschen Sie ein Cookie mit JavaScript

Das Löschen eines Cookies ist sehr einfach.

Sie müssen keinen Cookie-Wert angeben, wenn Sie ein Cookie löschen.

Setzen Sie einfach den Expires-Parameter auf ein vergangenes Datum:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

Sie sollten den Cookie-Pfad definieren, um sicherzustellen, dass Sie das richtige Cookie löschen.

Einige Browser lassen Sie ein Cookie nicht löschen, wenn Sie den Pfad nicht angeben.


Der Cookie-String

Die document.cookieEigenschaft sieht aus wie eine normale Textzeichenfolge. Aber es ist nicht.

Selbst wenn Sie einen ganzen Cookie-String in document.cookie schreiben, können Sie beim erneuten Auslesen nur das Name-Wert-Paar davon sehen.

Wenn Sie ein neues Cookie setzen, werden ältere Cookies nicht überschrieben. Das neue Cookie wird zu document.cookie hinzugefügt, wenn Sie also document.cookie erneut lesen, erhalten Sie so etwas wie:

Cookie1 = Wert; Cookie2 = Wert;

     

Wenn Sie den Wert eines bestimmten Cookies finden möchten, müssen Sie eine JavaScript-Funktion schreiben, die nach dem Cookie-Wert in der Cookie-Zeichenfolge sucht.


JavaScript-Cookie-Beispiel

Im folgenden Beispiel erstellen wir ein Cookie, das den Namen eines Besuchers speichert.

Wenn ein Besucher zum ersten Mal auf die Webseite kommt, wird er/sie aufgefordert, seinen/ihren Namen einzugeben. Der Name wird dann in einem Cookie gespeichert.

Wenn der Besucher das nächste Mal auf derselben Seite ankommt, erhält er eine Willkommensnachricht.

Für das Beispiel erstellen wir 3 JavaScript-Funktionen:

  1. Eine Funktion zum Setzen eines Cookie-Wertes
  2. Eine Funktion, um einen Cookie-Wert zu erhalten
  3. Eine Funktion zum Überprüfen eines Cookie-Werts

Eine Funktion zum Setzen eines Cookies

Zuerst erstellen wir eine function, die den Namen des Besuchers in einer Cookie-Variablen speichert:

Beispiel

function setCookie(cname, cvalue, exdays) {
  const d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  let expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

Beispiel erklärt:

Die Parameter der obigen Funktion sind der Name des Cookies (cname), der Wert des Cookies (cvalue) und die Anzahl der Tage, bis das Cookie ablaufen soll (exdays).

Die Funktion setzt ein Cookie, indem sie den Cookienamen, den Cookiewert und die Ablaufzeichenfolge addiert.


Eine Funktion zum Abrufen eines Cookies

Dann erstellen wir eine function, die den Wert eines bestimmten Cookies zurückgibt:

Beispiel

function getCookie(cname) {
  let name = cname + "=";
  let decodedCookie = decodeURIComponent(document.cookie);
  let ca = decodedCookie.split(';');
  for(let i = 0; i <ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

Funktion erklärt:

Nehmen Sie den Cookienamen als Parameter (cname).

Erstellen Sie eine Variable (Name) mit dem Text, nach dem gesucht werden soll (cname + "=").

Decodieren Sie den Cookie-String, um Cookies mit Sonderzeichen zu behandeln, z. B. '$'

Teilen Sie document.cookie an Semikolons in ein Array namens ca (ca = decodedCookie.split(';')).

Durchlaufen Sie das ca-Array (i = 0; i < ca.length; i++) und lesen Sie jeden Wert aus c = ca[i]).

Wenn das Cookie gefunden wird (c.indexOf(name) == 0), gib den Wert des Cookies zurück (c.substring(name.length, c.length).

Wenn das Cookie nicht gefunden wird, geben Sie "" zurück.


Eine Funktion zum Überprüfen eines Cookies

Zuletzt erstellen wir die Funktion, die prüft, ob ein Cookie gesetzt ist.

Wenn das Cookie gesetzt ist, zeigt es eine Begrüßung an.

Wenn das Cookie nicht gesetzt ist, wird ein Eingabefeld angezeigt, in dem nach dem Namen des Benutzers gefragt wird, und das Benutzernamen-Cookie für 365 Tage gespeichert, indem die setCookieFunktion aufgerufen wird:

Beispiel

function checkCookie() {
  let username = getCookie("username");
  if (username != "") {
   alert("Welcome again " + username);
  } else {
    username = prompt("Please enter your name:", "");
    if (username != "" && username != null) {
      setCookie("username", username, 365);
    }
  }
}

Jetzt alle zusammen

Beispiel

function setCookie(cname, cvalue, exdays) {
  const d = new Date();
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  let expires = "expires="+d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
  let name = cname + "=";
  let ca = document.cookie.split(';');
  for(let i = 0; i < ca.length; i++) {
    let 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() {
  let user = getCookie("username");
  if (user != "") {
    alert("Welcome again " + user);
  } else {
    user = prompt("Please enter your name:", "");
    if (user != "" && user != null) {
      setCookie("username", user, 365);
    }
  }
}

Das obige Beispiel führt die checkCookie()Funktion aus, wenn die Seite geladen wird.