script>//specify message to alert
var alertmessage="Welcome to knowsky.com \n 这个提示信息只会出现一次哟!"///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.   


    // 调用对话框
    function helpor_net(){ 
      if (get_cookie('popped')==''){ 
        openpopup() 
        document.cookie="popped=yes" 
      } 

    helpor_net() ;function openpopup(){ 
       url="hahah11.html";
       window.open("hahah11.html","gonggao","width=260,height=212,left=200,top=0");
    } // 获得 cookie
    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      end = document.cookie.indexOf(";", offset);      if (end == -1)         end = document.cookie.length;         returnvalue=unescape(document.cookie.substring(offset, end))
          }
       }
       return returnvalue;
    }
      用这段代码就可以做到只要是第一次登录到该页面上就会弹出窗口,再次刷新的话则不会弹出窗口。  楼主:
        “我希望的是弹过一次后,只要不删除cookies,就永远都不会弹了. ” 如果是这样的话,楼主要在 IE 浏览器里设置一下 COOKIE 操作,每次关闭浏览器的时候不删除 cookie 就可以了。
      

  2.   

    回楼上,关掉浏览器后我并没有删除cookie,重新打开浏览再运行刚才的页面还是会运行那个弹出窗口出来。
    浏览器的默认设置应该是不会关闭浏览器就删除所有cookie的吧,那我登录过一次CSDN第二天不用登录也能上。
      

  3.   

    可以参考
    http://blog.csdn.net/avon520/archive/2008/10/07/3029375.aspx
      

  4.   


     如果关闭浏览器后没有删除 cookie 的话,那上面通过 cookie 的判断应该可以正确判断是否弹出窗口啊,上面的意思代码的意思,就是只弹出窗口一次啊。只要不删除 cookie 的话,就永远不会弹出来了啊。 楼主,你是这个意思吗?
      

  5.   


      你把 alert(document.cookie) 看看关闭浏览器后弹出来的 cookie 值还有没有,如果没有的话,那就是你的浏览器在哪里设置了“关闭浏览器清除临时文件” 这个设置了。
      

  6.   

    回楼上,alert弹出来的cookie值还有,检查了浏览器的设置,“关闭浏览器清除临时文件”选项没有打勾,百思不得其解。...
      

  7.   

    楼主,你的offset += search.length 这个开始位置好像不是这样吧
    好像是这样写哦  offset = offset + search.length + 1;这样才对吧
    保存cookie,你这样试试
    cookie_name:cookie名字,value:cookie值,expireDays:时间(单位:天)
    function setCookie(cookie_name,value,expireDays)
    {
    var exDate = new Date();
    exDate.setDate(expireDays);
    document.cookie = cookie_name + "=" + escape(value) + ((expireDays==null) ? "" : ";expirDays=" + exDate);
    }
      

  8.   

    你看看 get_cookie('popped') 每次弹出来的是什么值?
      

  9.   

    <SCRIPT language="javascript"> 
    <!-- 
    function openpopup(){ 
    url="hahah11.html" 
    window.open("hahah11.html","gonggao","width=260,height=212,left=200,top=0") 
    } //注意,这里是弹出窗口的相关属性。分别为: 网址 标题 窗口宽度 窗口高度 窗口左边距 窗口上边距 
    function get_cookie(Name) { 
    var search = Name + "=" 
    var returnvalue = ""; 
    if (document.cookie.length > 0) { 
    offset = document.cookie.indexOf(search) 
    if (offset != -1) { 
    offset += search.length 
    end = document.cookie.indexOf(";", offset); 
    if (end == -1) 
    end = document.cookie.length; 
    returnvalue=unescape(document.cookie.substring(offset, end)) 


    return returnvalue; 
    } function helpor_net(){ alert(get_cookie('popped'))
    if (get_cookie('popped')==''){ 
    document.cookie="popped=yes;" 
    openpopup() 


    helpor_net() 
    //--> 
    </SCRIPT>