有个问题,一直没思路,现在想只使用页面脚步,最多是加上后台,不使用数据库,怎么限制同一个浏览器只能打开一个相同的网站?使用cookie还是session还是application?没思路,希望高手帮忙,最好能给出代码

解决方案 »

  1.   

    在打开浏览器的时候进行cookie判断,看有没有相同的name的cookie存在,如果有就不打开页面,具体这么整还没试过,只提供一下参考
      

  2.   

    既然是限制客户端的动作,因此 session、application 在 Server 端无能为力;就剩下 cookie 了,第一打开时查 cookie,若没有,则写 cookie isOpen=true,
    再次打开时查 cookie,若 isOpen,则关闭页面,
    第一次打开的页面关闭时写 cookie isOpen=false对于异常页面关闭就无能为力了!
      

  3.   

    cookie 不怎么会用,给个例子过来看看谢谢
      

  4.   

    eg.   用的时候把baidu换成你选的url就行<html>
        <head>
            <script>
                window.onload=function(){            }
                function checkthis(obj){
                    var when = new Date();
                    when.setTime(when.getTime() + 10000*1000*10000);//cookie expires after login 30 second
                    var myCookie = document.cookie.split("; ");
                    for(var i=0;i<myCookie.length;i++){
                        if(decodeURI(myCookie[i])=="url=http://www.baidu.com"){
                            alert("不能重复打开");
                            return;
                        }
                    }
                    window.open("http://www.baidu.com", "aas")
                    document.cookie=encodeURI("url")+ "=http://www.baidu.com"+";expires=" + when.toGMTString();            }
            
            </script>
        </head>
        <body>
            <input type="button" id="ckbox" onclick="checkthis(this)" value="打开百度">
        </body>
    </html>
      

  5.   


    <html>
        <head>
            <script>
                window.onunload=function(){
                     document.cookie=encodeURI("url")+ "=x"+";expires=0" ;            }
                function checkthis(obj){
                    var when = new Date();
                    when.setTime(when.getTime() + 10000*1000*10000);//cookie expires after login 30 second
                    var myCookie = document.cookie.split("; ");
                    for(var i=0;i<myCookie.length;i++){
                        if(decodeURI(myCookie[i])=="url=http://www.baidu.com"){
                            alert("不能重复打开");
                            return;
                        }
                    }
                    window.open("http://www.baidu.com", "aas")
                    document.cookie=encodeURI("url")+ "=http://www.baidu.com"+";expires=" + when.toGMTString();            }
            
            </script>
        </head>
        <body>
            <input type="button" id="ckbox" onclick="checkthis(this)" value="打开百度">
        </body>
    </html>
      

  6.   

    用cookie 在同一台机器上是会这样的,你可以考虑在服务器端用session 做同样的事,客户端发命令给服务器判断,如果同一用户已经打开,那就禁止