2012-06-20 61 views
19

我有一個html頁面,當頁面加載時打開一個彈出窗口。如何在jQuery中設置會話變量?

我只需要在第一次打開頁面時設置彈出窗口。我認爲會話或cookie將被設置。

<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> 
+0

http://stackoverflow.com/questions/10998412/how-can-i-use-jquery-to-read-a-cookie-and-store-it-in-a-variable/10998480#10998480 – gorelative

+0

嗨卡普里:-)你想要彈出窗口出現時,頁面加載,或當點擊什麼東西? –

回答

54

使用localStorage存儲您打開頁面的事實:

$(document).ready(function() { 
    var yetVisited = localStorage['visited']; 
    if (!yetVisited) { 
     // open popup 
     localStorage['visited'] = "yes"; 
    } 
}); 
+0

ohhh ....很棒...... !!!非常感謝你幫助我... – capri

+0

太棒了!我也試過這個作品很好。但是當瀏覽器重新打開時,它不顯示彈出窗口 –

+0

它是否過期?如果是這樣,過了多久? – SearchForKnowledge

12

你可以嘗試使用HTML5s的sessionStorage它持續在頁面會話的持續時間。只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存在,頁面會話就會持續。在新選項卡或窗口中打開頁面將導致啓動新的會話。

sessionStorage.setItem(「username」,「John」);

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

瀏覽器兼容性https://code.google.com/p/sessionstorage/與每一個A級瀏覽器兼容,包括iPhone或Android。 http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

+0

這更合適,因爲選項卡更改我們的會話變量remove。 – asifaftab87

+0

都在本地運行良好,但在服務器上,值僅在sessionStorage中保留 –