2016-09-06 11 views
0

Ich arbeite an einem Benachrichtigungsfeld, aber ich habe ein Problem mit der Option "Löschen". Hier ist der Code:Javascript behält Variablenwert auf allen Geräten

<div id="notification"> 
    <span> Hi, i'm a title </span> 
</div> 
<button id="del" type="button" onClick="delete()">Delete Notification</button> 

Und hier ist das Javascript:

function delete() { 
    var notificationDisplay = "0" 
    if (notificationDisplay == "0") { 
     document.getElementById("notification").style.display = "none" 
    } else { 
     document.getElementById("notification").style.display = "block" 
    } 

Ich möchte, das zu tun, wenn Sie die Taste, um die Benachrichtigung auf allen Browsern oder Geräten verschwinden klicken (so i don‘ t möchten Cookies oder lokalen HTML5-Speicher verwenden). Das Problem ist, dass wenn ich die Seite aktualisiere die Benachrichtigung zurück sichtbar. Wie kann ich tun, um es "gelöscht" zu halten?

+0

Wenn dies in Ihrem Standard-Markup ist. Wie soll man das dauerhaft mit JavaScript löschen? – aavrug

+0

Ich möchte es nur behalten "display: none" – step

+2

Wenn Sie es als markiert "lesen" für sagen, ein Benutzerkonto, auf allen Geräten halten möchten, würden Sie wahrscheinlich eine Datenbank benötigen. –

Antwort

0

Wenn Sie den Status bei jeder Aktualisierung überprüfen müssen, sollten Sie den Status in lokalen Speicher (oder) -Cookies speichern, da diese bei Seitenaktualisierungen persistent sind. Wenn Sie möchten, dass es browserübergreifend funktioniert, pflegen Sie den Status im Backend und teilen Sie ihn über einen Cookie.

+0

Ein Cookie oder localStorage ist nur gut für ein Gerät, nicht alle, und das OP explizit gesagt * Ich möchte keine Cookies oder HTML5 lokalen Speicher * verwenden. –

+1

Nun, Sie müssen es über einen Cookie freigeben und den Status der Benachrichtigung (gelesen/ungelesen) im Backend beibehalten. – Jaipradeesh

Verwandte Themen