2017-11-15 2 views
0

Ich folge einem Tutorial für Cookies und in der Anleitung geben Sie Ihren Namen ein, und Sie können Ihren Namen aktualisieren, dann wird der Name tatsächlich als Cookie gespeichert. Wenn ich dies jedoch in einer persönlichen Datei versuche, wird der Cookie nicht gespeichert, wenn ich die Seite aktualisiere. Ich kann den Cookie nur einmal pro Sitzung sehen. Wie also speichere ich den Cookie für so viele Sitzungen wie ich möchte?JavaScript Cookies speichern

Ich nehme an, Sie können nicht verwenden Cookies in einem Snippet, aber wenn Sie helfen können, kopieren Sie und fügen Sie diese in eine persönliche Datei.

function WriteCookie() { 
 
    customer = document.getElementById('customer'); 
 
    if (customer.innerHTML == "") { 
 
    alert("Enter some value!"); 
 
    return; 
 
    } 
 
    cookievalue = escape(customer.innerHTML); 
 
    document.cookie = "name=" + cookievalue; 
 
    console.log("name=" + cookievalue); 
 

 
    // expires 
 
    var now = new Date(); 
 
    now.setMonth(now.getMonth() + 1); 
 

 
    document.cookie = "expires=" + now.toUTCString() + ";" 
 
    // output = document.getElementById('output'); 
 
    // output.innerHTML = cookievalue; 
 
} 
 

 
function ReadCookie() { 
 
    var allcookies = document.cookie; 
 
    console.log("All Cookies : " + allcookies); 
 

 
    // Get all the cookies pairs in an array 
 
    cookiearray = allcookies.split(';'); 
 

 
    // Now take key value pair out of this array 
 
    for (var i = 0; i < cookiearray.length; i++) { 
 
    name = cookiearray[i].split('=')[0]; 
 
    value = cookiearray[i].split('=')[1]; 
 
    console.log("Key is : " + name + " and Value is : " + value); 
 
    } 
 
}
<html> 
 

 
<head> 
 
</head> 
 

 
<body> 
 
    <form name="myform" action=""> 
 
    <!-- Enter name: <input type="text" name="customer"/> --> 
 
    <h4>Enter Name:</h4> 
 
    <h4 contenteditable="true" id="customer" style="background-color: #eee"></h4> 
 
    <!-- <h4>Your Name is:</h4> 
 
     <h4 id="output" style="width: 100%; height: 20px; background-color: #ddd;"></h4> --> 
 
    <input type="button" value="Set Cookie" onclick="WriteCookie();" /> 
 
    <input type="button" value="Read Cookie" onclick="ReadCookie();" /> 
 
    </form> 
 
</body> 
 

 
</html>

+0

Ich sehe keinen Code Einstellung für Cookie Ablaufdatum Zeit. Um den Ablauf der Gültigkeitsdauer einzustellen, klicken Sie hier: https://stackoverflow.com/questions/8339406/cookie-expiration-date – Knitesh

+0

@Knitesh - Cookies ohne Ablaufzeiten sind Session-Cookies und verfallen, wenn der Browser geschlossen wird. – Quentin

+0

okay, @Knitesh Ich habe ein Ablaufdatum hinzugefügt, aber es zeigt immer noch nicht das Cookie. – hannacreed

Antwort

0

Cookies werden (im Browser) gespeichert mit einem bestimmten Ursprung verbunden. Cookies werden auf Seiten mit file: Schema-URLs nicht unterstützt, da sie keine Hostnamen haben.

Verwenden Sie stattdessen HTTP (oder HTTPS).

0

Verwenden Sie stattdessen localstorage. es ist viel einfacher

oder: auch session geeignet ist