当前位置:  开发笔记 > 编程语言 > 正文

为什么Chrome会忽略本地jQuery Cookie?

如何解决《为什么Chrome会忽略本地jQueryCookie?》经验,为你挑选了3个好方法。

我使用jQuery Cookie插件(下载和演示以及带注释的源代码)来设置和读取cookie.我正在我的本地机器上开发页面.

以下代码将在FireFox 3,IE 7和Safari(PC)中成功设置cookie.但如果浏览器是谷歌浏览器并且该页面是本地文件,则它不起作用.

$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});

我所知道的:

该插件的演示适用于Chrome.

如果我将我的代码放在网络服务器上(地址以http://开头),它可以与Chrome配合使用.

因此,Cookie仅针对本地文件上的Google Chrome失败.

可能的原因:

Google Chrome不接受来自硬盘驱动器网页的Cookie(例如file:/// C:/websites/foo.html)

插件实现中的某些内容会导致Chrome拒绝此类Cookie

任何人都可以确认这一点并确定根本原因吗?



1> Matthew Crum..:

Chrome不支持本地文件的Cookie(或者像Peter Lyons所提到的,localhost*),除非您使用--enable-file-cookies标志启动它.您可以在http://code.google.com/p/chromium/issues/detail?id=535上阅读有关该讨论的讨论.

*如果您直接使用本地IP地址(127.0.0.1),Chrome 支持Cookie.所以在localhost的情况下,这可能是一个更容易的解决方法.



2> 小智..:

对于本地应用程序,请在Chrome中使用localStorage:http: //people.w3.org/mike/localstorage.html



3> 小智..:

我有一些问题并解决了这个可怕的解决方案.一起使用商店和cookie插件.




var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

//get cookies
var helpFlag=(is_chrome)?$.Storage.get("helpFlag"):$.cookies.get("helpFlag");

//set cookies
if(is_chrome)$.Storage.set("helpFlag", "1");else $.cookies.set("helpFlag", "1");

我知道这不是完美的解决方案,但对我有用

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有