2011-04-26 20 views
0

我有一個jQuery的統計做了頁面加載時:js如何每2天運行一次javascript?

$(document).ready(function(){ 
    tb_show('#TB_inline?height=490&width=534&inlineId=compare', false); 
}); 

什麼,我想要的是腳本在一段時間運行一次也許每2天...任何想法?

+1

JavaScript是一種客戶端所以網頁瀏覽器需要在頁面上放置兩天,但是你可以使用setTimeout ... – 2011-04-26 23:43:02

+0

你能給我們多一些上下文嗎?這是一個您希望人們逗留超過2天的網頁嗎? – Homer6 2011-04-26 23:44:51

+0

@AndrewM - 他聽起來很可笑,我的猜測是,如果用戶在兩天後訪問,他希望這樣做。 – Christian 2011-04-26 23:45:28

回答

1

您需要設置一個cookie來記錄上次顯示的時間。這是document.cookie,或者更好,使用jQuery's cookie plugin功能。

$(document).ready(function(){ 

    var today=(new Date()).getTime(); 
    var two_days=1000*60*60*60*24*2; 

    if($.cookie('lasttime')<today-two_days){ 

     // update cookie 
     $.cookie('lasttime',today); 

     // show popup 
     tb_show('#TB_inline?height=490&width=534&inlineId=compare', false); 

    } 

}); 
+0

我得到'$ .cookie不是函數'....並且我包含了'/ jquery.cookie.js' – Patrioticcow 2011-04-27 00:04:36

0

如果你想一些元素隔日僅顯示,你可以像這樣做,只需要使用Date對象獲取當前天數:

$(function(){ 
    var date=new Date(); 
    if(date.getDate()%2){ 
     // Only on odd days: 
     tb_show('#TB_inline?height=490&width=534&inlineId=compare', false); 
    } 
});