2014-03-27 366 views
0

我想要做的是彈出窗口顯示給用戶,當他只瀏覽頁面一次 ,但它顯示給我,每次我刷新頁面,也我需要它不會提醒我需要它彈出的窗口Javascript顯示彈出消息一次,但它顯示每次頁面加載

請指教

//Alert message once script- By JavaScript Kit 
//Credit notice must stay intact for use 
//Visit http://javascriptkit.com for this script 

//specify message to alert 
var alertmessage="Welcome to JavaScript Kit! \n http://javascriptkit.com" 

///No editing required beyond here///// 

//Alert only once per browser session (0=no, 1=yes) 
var once_per_session=1 


function get_cookie(Name) { 
    var search = Name + "=" 
    var returnvalue = ""; 
    if (document.cookie.length > 0) { 
    offset = document.cookie.indexOf(search) 
    if (offset != -1) { // if cookie exists 
     offset += search.length 
     // set index of beginning of value 
     end = document.cookie.indexOf(";", offset); 
     // set index of end of cookie value 
     if (end == -1) 
     end = document.cookie.length; 
     returnvalue=unescape(document.cookie.substring(offset, end)) 
     } 
    } 
    return returnvalue; 
} 

function alertornot(){ 
if (get_cookie('alerted')==''){ 
loadalert() 
document.cookie="alerted=yes" 
} 
} 

function loadalert(){ 
alert(alertmessage) 
} 

if (once_per_session==0) 
loadalert() 
else 
alertornot() 

</script> 
+0

爲什麼不使用localStorage的? – Jerodev

+0

我需要它使用cookie我怎麼能做到這一點 – user3332517

+0

請參閱[執行一次示例#3](https://developer.mozilla.org/en-US/docs/Web/API/document.cookie)。 –

回答

0

你如何運行代碼? 如果你正在運行它從本地機器在瀏覽器中的文件e.g

file://localhost/../../../file.html 

你是不是能夠從javascript保存的cookie。

您需要在網絡服務器上運行您的代碼並通過使用http訪問代碼。

http://localhost/../../../file.html 

W3Schools的有一些很好的例子: http://www.w3schools.com/js/js_cookies.asp

e.g

function setCookie(cname,cvalue,exdays) { 
var d = new Date(); 
d.setTime(d.getTime()+(exdays*24*60*60*1000)); 
var expires = "expires="+d.toGMTString(); 
document.cookie = cname + "=" + cvalue + "; " + expires; 
}