如何使用jQuery在不刷新页面的情况下更新cookie值?
我目前正在使用jQuery Cookies插件,根据查看者单击页面的哪一侧,将应用cookie:如何使用jQuery在不刷新页面的情况下更新cookie值?,jquery,session-cookies,Jquery,Session Cookies,我目前正在使用jQuery Cookies插件,根据查看者单击页面的哪一侧,将应用cookie: <div id="leftClick">Click Me</div> <div id="rightClick">Click Me</div> 点击我 点击我 问题是,一旦存储了cookie,不刷新它就不会更新。因此,如果查看器在刷新页面之前单击右元素,然后在左元素之后,它仍然会报告right,尽管cookie已被u left覆盖,因为页面尚未刷新。
<div id="leftClick">Click Me</div>
<div id="rightClick">Click Me</div>
点击我
点击我
问题是,一旦存储了cookie,不刷新它就不会更新。因此,如果查看器在刷新页面之前单击右元素,然后在左元素之后,它仍然会报告right,尽管cookie已被u left覆盖,因为页面尚未刷新。有没有一种方法可以在不刷新页面的情况下实时读取cookie
<script type="text/javascript">
var readCookie = $.cookie('whichSide');
$(document).ready(function() {
$('#leftClick').click(function(){
$.cookie('whichSide', 'left_');
});
$('#rightClick').click(function(){
$.cookie('whichSide', 'right_');
});
$('#login').click(function(){
_gaq.push(['_trackEvent', 'viewerChose', readCookie+'side']);
});
});
</script>
var readCookie=$.cookie('whichSide');
$(文档).ready(函数(){
$('#leftClick')。单击(函数(){
$.cookie('whichSide','left_');
});
$(“#右键单击”)。单击(函数(){
$.cookie('whichSide','right_');
});
$('#login')。单击(函数(){
_gaq.push([''u trackEvent','viewerChose',readCookie+'side']);
});
});
这是因为您将cookie的值存储在readCookie
变量中。当您更新cookie时,此变量不会自动更新,这就是为什么您在引用它时会得到旧值的原因
你可能想要这样的东西:
$('#login').click(function(){
_gaq.push(['_trackEvent', 'viewerChose', $.cookie('whichSide')+'side']);
});
您只读取readCookie值一次,然后在.click函数中使用该值。尝试在单击事件中读取它,以便使用最新的值:
$('#login').click(function(){
var readCookie = $.cookie('whichSide');
_gaq.push(['_trackEvent', 'viewerChose', readCookie+'side']);
});
当您自己缓存cookie的值时,请从代码中删除此项
var readCookie = $.cookie('whichSide');
将您的代码更改为此,每次需要时,您都会在$(“#login”)中获得cookie值的新副本。单击()
处理程序,而不是引用以前保存的值:
<script type="text/javascript">
$(document).ready(function() {
$('#leftClick').click(function(){
$.cookie('whichSide', 'left_');
});
$('#rightClick').click(function(){
$.cookie('whichSide', 'right_');
});
$('#login').click(function(){
_gaq.push(['_trackEvent', 'viewerChose', $.cookie('whichSide')+'side']);
});
});
</script>
$(文档).ready(函数(){
$('#leftClick')。单击(函数(){
$.cookie('whichSide','left_');
});
$(“#右键单击”)。单击(函数(){
$.cookie('whichSide','right_');
});
$('#login')。单击(函数(){
_gaq.push([''u trackEvent','viewerChose',$.cookie('whichSide')+'side']);
});
});