34

I have an html page that open a popup window when the page loads.

I need to set the popup only when the page open first time. I think session or cookie is to be set.

    <script>
        !window.jQuery && document.write('<script src="fancybox/jquery-1.4.3.min.js"><\/script>');
    </script>
    <script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.pack.js"></script>       
    <script type="text/javascript">
    $(document).ready(function() {  
        $("a#example1").fancybox();     
        $("a#example1").trigger('click');           
    });

    </script>   
    <link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />  
</head>
<body>
<a id="example1" href="images/pic.jpg"></a> 
</body>
Denys Séguret
  • 372,613
  • 87
  • 782
  • 758
capri
  • 2,047
  • 5
  • 19
  • 11
  • http://stackoverflow.com/questions/10998412/how-can-i-use-jquery-to-read-a-cookie-and-store-it-in-a-variable/10998480#10998480 – NDBoost Jun 20 '12 at 16:13
  • Hi Capri :-) Are you wanting the popup to appear when the page loads, or when something is clicked? – Jasper Mogg Jun 20 '12 at 16:18

2 Answers2

72

Use localStorage to store the fact that you opened the page :

$(document).ready(function() {
    var yetVisited = localStorage['visited'];
    if (!yetVisited) {
        // open popup
        localStorage['visited'] = "yes";
    }
});
Denys Séguret
  • 372,613
  • 87
  • 782
  • 758
13

You could try using HTML5s sessionStorage it lasts for the duration on the page session. A page session lasts for as long as the browser is open and survives over page reloads and restores. Opening a page in a new tab or window will cause a new session to be initiated.

sessionStorage.setItem("username", "John");

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#sessionStorage

Browser Compatibility https://code.google.com/p/sessionstorage/ compatible with every A-grade browser, included iPhone or Android. http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/