Javascript 从cookie中读取特定值
我有一个为该域编写cookie的应用程序。这个cookie中有很多信息,但没有敏感信息。它存储的一个值是“DisplayFullName”,我想检索它 我已经搜索了一段时间,找到了许多允许您读取cookie(其中的所有值)的代码示例,但没有任何特定的代码示例允许您读取特定的值。我确实找到了一个jquery示例,但它看起来像是在值之间循环。然而,我的cms没有安装jquery,所以我想用老式的方式 这是我必须阅读cookie的代码,它似乎工作正常。我只需要读取具体的值。请有人帮我或给我指出正确的方向Javascript 从cookie中读取特定值,javascript,cookies,Javascript,Cookies,我有一个为该域编写cookie的应用程序。这个cookie中有很多信息,但没有敏感信息。它存储的一个值是“DisplayFullName”,我想检索它 我已经搜索了一段时间,找到了许多允许您读取cookie(其中的所有值)的代码示例,但没有任何特定的代码示例允许您读取特定的值。我确实找到了一个jquery示例,但它看起来像是在值之间循环。然而,我的cms没有安装jquery,所以我想用老式的方式 这是我必须阅读cookie的代码,它似乎工作正常。我只需要读取具体的值。请有人帮我或给我指出正确的方
function getCookie(name)
{
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
}
alert(getCookie("ecm"));
我希望最终将DisplayFullName添加到iframe id的src中,我已将MyIframe作为参数调用。我给您的建议是根本不要使用cookies。使用
localStorage
界面,该界面的语法更加用户友好
例如:
localStorage['ecm'] = 'some value';
alert(localStorage['ecm']);
因为它只是一个Javascript对象,所以也可以使用点表示法:
localStorage.ecm = 'some value';
alert(localStorage.ecm);
这只存在于现代浏览器中。如果向后兼容性很重要,那么可以使用各种垫片,例如,这些垫片使所有在后台使用老式cookie的浏览器都可以使用这些功能。我给你的建议是根本不要使用cookie。使用
localStorage
界面,该界面的语法更加用户友好
例如:
localStorage['ecm'] = 'some value';
alert(localStorage['ecm']);
因为它只是一个Javascript对象,所以也可以使用点表示法:
localStorage.ecm = 'some value';
alert(localStorage.ecm);
这只存在于现代浏览器中。如果向后兼容性很重要,那么可以使用各种垫片,例如,这些垫片使所有在后台使用老式cookie的浏览器都可以使用这些功能。这对您很有用。它只是在cookies上循环查找您传入的名称
function getCookieByName(name) {
var cookies = document.cookie.split(";"),
yerCookie = null,
cookiePair;
for (var i=0; i < cookies.length; i++) {
cookiePair = cookies[i].split("=");
if (cookiePair[0].trim() === name) {
yerCookie = cookiePair.slice(1).join("=");
break;
}
}
return yerCookie;
}
这对你有用。它只是在cookies上循环查找您传入的名称
function getCookieByName(name) {
var cookies = document.cookie.split(";"),
yerCookie = null,
cookiePair;
for (var i=0; i < cookies.length; i++) {
cookiePair = cookies[i].split("=");
if (cookiePair[0].trim() === name) {
yerCookie = cookiePair.slice(1).join("=");
break;
}
}
return yerCookie;
}
谢谢,生成cookie的不是我的应用程序。这是我们服务器上的第三方cms系统。我只想将displayname传递给另一个系统谢谢,生成cookie的不是我的应用程序。这是我们服务器上的第三方cms系统。我只想将displayname传递给另一个系统hi和bdrew,我已尝试使用alert(getCookieByName(“DisplayFullName”))访问cookie;-然而,我没有得到我想要的回应。我是否应该做些其他事情来从名为ecm的cookie访问DisplayFullName参数?@JK36您能发布
document.cookie
?如果cookie看起来像“DisplayFullName=Foo;”
,那么getCookieByName(“DisplayFullName”)
将返回Foo
不确定这是您想要的,但这就是我的ecm cookie DisplayFullName=my%20Name&username=xUser1&dm=www.my.domain.name.com&DefaultLanguage=2057&NavLanguage=2057&SiteLanguage=2057&TimeZone=GMT标准时间&SubType=&ContType中包含的内容=-1@JK36键入console.log(document.cookie)时会看到什么
在浏览器的js控制台中?ecm=DisplayFullName=My%20Name&username=xUser1&dm=www.My.domain.name.com&DefaultLangu年龄=2057&NavLanguage=2057&SiteLanguage=2057&TimeZone=GMT标准时间&子类型=&ContType=-1;ektron_分析_叠加=模式=无;RadEditorGlobalSerializeCookie=[ctl00\U ctl00\U cp1\U ContentBlock1\U ContentDesignerModules]-[].[content\U Strater\U ContentDesignerModules]-[].[content\U Strater\U ContentDesignerToolbars]-[].[content\U html\U ContentDesignerModules]-[].[content\U html\U ContentDesignerToolbars]-[].\;大家好,我已经尝试使用alert(getCookieByName(“DisplayFullName”);-然而,我没有得到我想要的回应。我是否应该做些其他事情来从名为ecm的cookie访问DisplayFullName参数?@JK36您能发布document.cookie
?如果cookie看起来像“DisplayFullName=Foo;”
,那么getCookieByName(“DisplayFullName”)
将返回Foo
不确定这是您想要的,但这就是我的ecm cookie DisplayFullName=my%20Name&username=xUser1&dm=www.my.domain.name.com&DefaultLanguage=2057&NavLanguage=2057&SiteLanguage=2057&TimeZone=GMT标准时间&SubType=&ContType中包含的内容=-1@JK36键入console.log(document.cookie)时会看到什么
在浏览器的js控制台中?ecm=DisplayFullName=My%20Name&username=xUser1&dm=www.My.domain.name.com&DefaultLangu年龄=2057&NavLanguage=2057&SiteLanguage=2057&TimeZone=GMT标准时间&子类型=&ContType=-1;ektron_分析_叠加=模式=无;RadEditorGlobalSerializeCookie=[ctl00\U ctl00\U cp1\U ContentBlock1\U ContentDesignerModules]-[].[content\U Strater\U ContentDesignerModules]-[].[content\U Strater\U ContentDesignerToolbars]-[].[content\U html\U ContentDesignerModules]-[].[content\U html\U ContentDesignerToolbars]-[].\;