2016-05-21 9 views
0

Ich habe den Code unten laden Pop auf Seite Last verwendet, ich es jedes Mal ein Benutzer laden möchte nicht aktualisiert SeiteWie kann Pop nur einmal für einen Benutzer geladen werden?

$(function() { 
    var overlay = $('<div id="overlay"></div>'); 
    overlay.show(); 
    overlay.appendTo(document.body); 
    $(document).ready(function() { 


     $('.popup').show(); 

     $('.close').click(function(){ 
      $('.popup').hide(); 
      overlay.appendTo(document.body).remove(); 
      return false; 
     }); 
     }); 

Antwort

2

die window.localStorage API eine ziemlich einfache Art und Weise wird mit diesem tun:

$(function() { 
    if (window.localStorage.popupHasBeenShown) 
     return; 

    var overlay = $('<div id="overlay"></div>'); 
    overlay.show(); 
    overlay.appendTo(document.body); 
    $(document).ready(function() { 

     window.localStorage.popupHasBeenShown = true; 
     $('.popup').show(); 

     $('.close').click(function(){ 
      $('.popup').hide(); 
      overlay.appendTo(document.body).remove(); 
      return false; 
     }); 
    }); 

Manche Menschen mögen es vorziehen, die cookie API zu verwenden, dh window.document.cookie, ein Vorteil ist, dass das Ablaufdatum Einstellung ist wirklich einfach so konnte man, sagen wir, haben nur das Popup angezeigt onc e eine Woche oder so:

document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT"; 
+0

Vielen Dank! Das hat funktioniert! –

+0

Hehe, kein Problem! Akzeptieren Sie die Antwort, wenn es Ihnen geholfen hat :-) –

+0

In diesem Fall wird das Popup dem Benutzer nicht angezeigt, selbst wenn das Popup einmal geöffnet wurde. Was ist, wenn ich Zeitrahmen einstellen muss, nach denen Pop Up wieder @nikk wong angezeigt wird –