为什么Chrome会忽略本地jQuery Cookie?
我正在使用jQuery Cookie插件( 下载和演示以及带注释的源代码 )来设置和读取cookie。 我正在开发本地机器上的页面。
以下代码将在FireFox 3,IE 7和Safari(PC)中成功设置cookie。 但是, 如果浏览器是谷歌浏览器,并且该页面是本地文件 ,则不起作用。
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
我所知道的 :
- 该插件的演示与Chrome一起使用。
- 如果我把我的代码放在一个web服务器上(地址以http://开头),它可以与Chrome一起使用。
所以这个cookie只能在本地文件上使用谷歌浏览器 。
可能的原因 :
- 谷歌浏览器不接受来自硬盘驱动器网页的cookies(path如file:/// C:/websites/foo.html)
- 插件实现中的某些内容会导致Chrome拒绝这些Cookie
任何人都可以证实这一点,并确定根本原因?
Chrome不支持本地文件的cookies(或者像Peter Lyons提到的localhost *),除非你用–enable-file-cookies标志启动它。 您可以在http://code.google.com/p/chromium/issues/detail?id=535上阅读关于它的讨论。;
*如果您直接使用本地IP地址(127.0.0.1),则Chrome支持cookies。 所以在localhost的情况下,这可能是一个更简单的解决方法。
对于本地应用程序,请使用Chrome中的localStorage来代替: http : //people.w3.org/mike/localstorage.html
我有一些问题,解决了这个可怕的解决scheme。 一起使用商店和cookie插件。
<script src="js/jquery.cookies.2.2.0.js" type="text/javascript"></script> <script src="js/jquery.Storage.js" type="text/javascript"></script> 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");
我知道这不是完美的解决scheme,但为我工作
我有同样的问题,请尝试使用localhost的IP地址。 例如,“http://127.0.0.1/yoursite/”;
请查看Cookies和Google Analytics(分析) 。
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
改变这一行
$.cookie("nameofcookie", cookievalue, {*Path:* "/", expires: 30});
这个项目工作很好。
这为我做了这份工作:
右键单击您的Chrome图标,然后select“属性”,“快捷方式”选项卡,并在目标path的最后添加–enable-file-cookies。
另一个可能的原因是path: "/"
,因为你没有使用正常的url, /
可能没有多大意义 – 尝试不设置path。
如果你使用chrominum这是启用本地cookie的命令
铬浏览器 – 启用文件Cookie
对于Chrome来说也是一样的
希望这对你有所帮助!
- Xlib:扩展名“RANDR”缺less显示“:21”。 – 试图运行无头谷歌浏览器
- 你如何检查铬检查员?
- 了解Chromenetworking日志“已停止”状态
- 定位标记下载属性不起作用:Chrome 35.0.1916.114中的错误
- chrome:如何closures用户代理样式表设置?
- 渐进式Web应用程序与本机应用程序相比具有哪些function,反之亦然,Android上
- Chrome开发者控制台中的奇怪错误 – 无法加载资源:net :: ERR_CACHE_MISS
- Javascript使用Google Chrome逐行debugging
- 在Chrome中的ASP.NET获得一个奇怪的focus_change nikkomsgchannel错误