Javascript:无法在所有HTML页面中读取Cookie
Javascript: Cookie can not be read in all the HTML pages
我从W3Schools复制并使用了getCookie和setCookie(http://www.w3schools.com/js/js_cookies.asp)。以下是获取和设置的代码:
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
我在prepareDriver.html页面中首次设置cookie
setCookie("pathName",path,365);
setCookie("formatName",ifFormat,365);
然后我在startInstall.html页面中调用了getcookie,这是一个不同的html页面
var path = getCookie("pathName");
var ifFormat = getCookie("formatName");
但是path和ifFormat都为null。但是,当我在prepareDriver.html中console.log时,数据就在那里。谢谢这是我第一次在JS中使用cookie。我不想使用本地存储来存储数据。因为一些旧版本的浏览器不支持这个功能,对吧?
您需要为cookie指定一个公共path
。最简单的就是指定域根:
var c_value=escape(value) + "; path=/" + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
否则,document.cookie
将默认为当前location.pathname
,使cookie仅可用于当前页面。
path=path(例如,'/','/mydir')如果未指定,则默认为当前文档位置的当前路径。
此外,我建议查看MDN上cookie的"小框架"。
如果您已经在使用jquery,您可能需要考虑jquery插件:
https://github.com/jquery/plugins.jquery.com
这使得它非常简单。
相关文章:
- 无法在javascript中首次读取cookie
- 如何使用jquery读取cookie值
- jQuery可以't使用jquery.cookie插件读取cookie
- 正在从其他域读取cookie
- 使用javascript使用两个不同的域设置和读取cookie
- 从另一个域的服务器读取 Cookie
- Facebook 如何从其他域读取 Cookie
- Javascript:代码片段,无法使其工作(设置和读取cookie)
- 无法使用document.cookie在UIWebview浏览器中读取cookie
- JavaScript读取cookie不工作
- 如何使用socket.io设置和读取cookie
- Javascript:无法在所有HTML页面中读取Cookie
- 使用嵌入式javascript读取cookie到Shiny应用程序
- 读取cookie并使用jQuery显示数据
- Rails 4.2和跨域cookie,允许读取cookie数据
- 如何在angularjs中读取cookie,在WebApi中设置之后
- 在javascript中读取cookie,由asp.net c#编写代码
- Bookmarklet用于设置和读取cookie
- domainA可以使用domainB上的脚本从domainB读取cookie吗?
- 如何用javascript读取cookie值