2013-04-04 94 views
1

我很努力在html页面上使用Cookie。我想有一个脚本检查,看看如果用户有一个cookie,如果不把这个脚本打开一个示范窗口检查Cookie,如果它不存在运行脚本

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery("#myModal").reveal(); 
}); 
</script 

该窗口包含“是”和“否”按钮,如果用户选择“是”它会保存一个cookie,以便在将来访问该页面时不会打开该模式,如果用户选择“否”,它将简单地引导他们到另一个页面。

任何帮助将不胜感激!

回答

1

1)使用jQuery cookie库以方便使用。 https://github.com/carhartl/jquery-cookie
2)检查cookie存在并处理相应

if ($j.cookie("NameOfYourCookie") == null) { 
//Do stuff if cookie doesn't exist like set a cookie with a value of 1 
$j.cookie("NameOfYourCookie", 1, {expires: 10, path:'/'}); 
} 

else { 
//They have a cookie so do something 
alert ('You have a cookie with name NameOfYourCookie'); 
} 

*编辑*

想我可以编辑我的答案是更适合您的问题。

 <button class="yes">YES</button> 
     <button class="no">No</button> 

    var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 
//Show modal on page load   
$j("#myModal").show(); 



$j('.yes').click(function(){ 
     $j("#myModal").hide(); 
     $j.cookie("YesButtonCookie", 1, {expires: 10, path:'/'}); 
     alert ('You have clicked yes, a cookie has been dropped'); 

    }); 


     if ($j.cookie("YesButtonCookie") == 1){ 
      // Don't show the div 
      $j("#myModal").hide(); 
      alert ('Cookie found, you cant see myModal'); 
     } 


     if ($j.cookie("YesButtonCookie") == null){ 
        // Cookie Not Found 
        alert ('Cookie Not found, you can see myModal'); 
        $j("#myModal").show(); 
     } 




    $j('.clearcookie').click(function(){ 
     $j.cookie("YesButtonCookie", null); 
     alert('Cookie Cleared'); 
    }); 


}); 

JSFIDDLE TO TEST

+0

哇,这就是我所说的一个详细的解答!我遇到了一些问题,当我访问Firefox中的JSFiddle页面时,它警告我发现了cookie,所以我尝试了清除按钮并刷新页面,但仍然找到cookie。所以我尝试在IE浏览器,并没有找到cookie(点击“是”按钮后),然后刷新。我是否错过了一些东西,或者这个工作不正常吗? – Greg 2013-04-05 15:12:14

+0

我可能没有正确清除小提琴中的cookie或未正确调用它。基本的轮廓在那里。使用jQuery cookie插件,然后使用$ j.cookie(“CookieName”,IntValue,{expires:IntDaysToExpire,path:'/'})设置cookie。检查cookie是否加载检查您分配的值。在我的示例中,我将值设置为1,以便在($ j.cookie(“CookieName”)== 1){// do stuff}的情况下检查cookie是否具有值1。一旦你能够设置/读取cookies,那么你想要做的所有事情都属于if语句的组合。希望能帮助到你。 – James 2013-04-08 03:53:28

+0

太棒了,再次感谢您的帮助James!你是冠军 – Greg 2013-04-08 14:41:08

相关问题