我目前在尝试使用PHP或Javascript读取cookies时遇到一些问题。我尝试过使用:
if(!$_COOKIE['popup_closed']
&& !isset($_COOKIE['username'])
&& !isset($_COOKIE['password'])
)我试过了:
if(
$.cookie('popup_closed') == null
&& $.cookie('username') == null
&& $.cookie('password') == null) {
doStuff();
}(使用jquery.cookie插件)
而且它们都不能在iPad上工作。它在所有浏览器上都能正常工作,我试着用谷歌搜索这个问题,但似乎没有太多关于在iPad上读取cookies的信息。
感谢你们能提供的任何帮助!
发布于 2011-09-16 17:59:50
这确实是一种变通方法,但如果本地存储可用,您可以使用它--至少我已经在iPad/iPhone中成功地使用过它。
例如,使用这种解决方案。
function saveData(name, value) {
if (typeof(localStorage) != 'undefined') {
localStorage.setItem(name, value);
} else {
createCookie(name, value, 7);
}
}
function loadData(name) {
var temp_value = '';
if (typeof(localStorage) != 'undefined') {
temp_value = localStorage.getItem(name);
} else {
temp_value = readCookie(name);
}
return temp_value;
}
function eraseData(name) {
if (typeof(localStorage) != 'undefined') {
localStorage.removeItem(name);
} else {
eraseCookie(name);
}
}
function createCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
else {
expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) === 0) {
return c.substring(nameEQ.length, c.length);
}
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}发布于 2011-09-16 18:44:13
你有没有看过关于setcookie的manual?你应该使用所有变量,也许这解决了你不能用JS访问你的cookie的事实?另外,使用原生JS来访问cookie(而不是jQuery),这不是可行的吗?
https://stackoverflow.com/questions/7400465
复制相似问题