2014-03-27 144 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; 
}