Javascript显示弹出消息一次,但每次页面加载时显示

时间:2014-03-27 13:28:54

标签: javascript jquery html popup

我想要做的是弹出窗口在用户访问该页面时只显示一次 但它每次刷新页面时都向我显示,我也需要它不警报我需要弹出窗口

请告知

//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>

1 个答案:

答案 0 :(得分:0)

你如何运行你的代码? 如果您从本地计算机将其作为浏览器中的文件运行,例如

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;
}