Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Cookie问题_Javascript_Session_Cookies_Detect - Fatal编程技术网

Javascript jQuery Cookie问题

Javascript jQuery Cookie问题,javascript,session,cookies,detect,Javascript,Session,Cookies,Detect,我到处找了很多,似乎找不到任何简单到我可以做的事情 我已经设置了一个网页来检测当前正在运行的浏览器,如果它不是Firefox4.0,它会显示一个隐藏的div,该div会给出一个警告,指出该页面最好在Firefox4.0或更高版本中查看。在该div中有一个隐藏div onclick的按钮 我正在寻找一种方法来记住这个按钮是在会话期间被单击的,这样当用户单击我的“主页”时,他们不会每次都收到相同的消息 当前代码: <head> <script src="js/browser

我到处找了很多,似乎找不到任何简单到我可以做的事情

我已经设置了一个网页来检测当前正在运行的浏览器,如果它不是Firefox4.0,它会显示一个隐藏的div,该div会给出一个警告,指出该页面最好在Firefox4.0或更高版本中查看。在该div中有一个隐藏div onclick的按钮

我正在寻找一种方法来记住这个按钮是在会话期间被单击的,这样当用户单击我的“主页”时,他们不会每次都收到相同的消息

当前代码:

<head>
    <script src="js/browsercheck.js"></script>
    <script type="text/javascript">
        // external script "browsercheck.js" checks
        // which browser/version is being used
        // check browser and display message if != Firefox 4.0 or >
        function checkBrowser() {
            var browser = BrowserDetect.browser;
            var version = BrowserDetect.version;
            if (browser == "Firefox") {
                if (version >= 4) {
                    // do nothing
                }
            } else {
                document.getElementById("coverall").style.visibility="visible";
                document.getElementById("browser").innerHTML = browser + " " + version;
            } 
        }
        // remove overlay if user commands
        function removeCoverall() {
            document.getElementById("coverall").style.visibility="hidden";
        }
    </script>
</head>
<body>
    <div id="coverall" style="visibility:hidden;">
        <p>I see you're using <span id="browser"></span>. Please use Firefox.</p>
        <button type="button" onclick="removeCoverall()">I understand</button>
    </div>
</body>

//外部脚本“browsercheck.js”检查
//正在使用哪个浏览器/版本
//检查浏览器并在以下情况下显示消息!=Firefox 4.0或>
函数checkBrowser(){
var browser=BrowserDetect.browser;
var version=BrowserDetect.version;
如果(浏览器==“Firefox”){
如果(版本>=4){
//无所事事
}
}否则{
document.getElementById(“工作服”).style.visibility=“可见”;
document.getElementById(“浏览器”).innerHTML=浏览器+“”+版本;
} 
}
//如果用户使用命令,请删除覆盖
函数removecotheral(){
document.getElementById(“工作服”).style.visibility=“隐藏”;
}
我看你在用。请使用Firefox

我理解
使用jQuery和,您可以执行以下操作:

function removeCoverall() { $.cookie("user_clicked_ok", "true"); document.getElementById("coverall").style.visibility="hidden"; } $(window).ready(function() { if ($.cookie("user_clicked_ok")=="true") {removeCoverall();} }); 函数removecotheral(){ $.cookie(“用户单击确定”、“true”); document.getElementById(“工作服”).style.visibility=“隐藏”; } $(窗口).ready(函数(){ 如果($.cookie(“用户单击确定”)==“true”){removeColution();} });
更多详细信息,请参见:

removecall
功能中,您可以在显示div之前,在
checkBrowser
功能中验证cookie是否存在

You seem to have the right idea, you need cookies! YUM!
JS

function removeCoverall() {
    var date = new Date();
    date.setTime(date.getTime()+(7*24*60*60*1000));// expires in one week
    document.cookie = 'skipNotify=1;expires='+date.toGMTString()+'; path=/';
    document.getElementById("coverall").style.visibility="hidden";
}
现在,在javascript中检索cookie可能很困难,但您可以使用PHP

PHP

function checkBrowser() {
    <?php if(isset($_COOKIE['skipNotify']))echo'return;';?>
    var browser = BrowserDetect.browser;
    var version = BrowserDetect.version;
    if (browser == "Firefox") {
        if (version >= 4) {
            // do nothing
        }
    } else {
        document.getElementById("coverall").style.visibility="visible";
        document.getElementById("browser").innerHTML = browser + " " + version;
    } 
}
函数检查浏览器(){
var browser=BrowserDetect.browser;
var version=BrowserDetect.version;
如果(浏览器==“Firefox”){
如果(版本>=4){
//无所事事
}
}否则{
document.getElementById(“工作服”).style.visibility=“可见”;
document.getElementById(“浏览器”).innerHTML=浏览器+“”+版本;
} 
}
如果用户拥有cookie,上面的代码将注入一个return语句,因此对该函数的调用不会做任何事情


正如在其他帖子中提到的,我强烈建议您使用javascript满足所有需要。它非常受欢迎、稳定且有用!我只是给出了我的答案,因为它不使用任何第三方解决方案。

你在标题中提到了jQuery,但你根本没有使用jQuery。。。那么这个问题与jQuery有什么关系呢?看起来您根本没有使用jQuery。但是如果你真的是这样的话,看看jQuerycookies插件:看起来它应该可以工作,但是我对JS/jquery非常陌生。我只知道最基本的东西,不知什么原因,饼干让我很困惑。你介意确切地说它应该如何实施吗?我好像没法让它工作