首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iPad上无法通过PHP或Javascript读取cookies

问在iPad上无法通过PHP或Javascript读取cookies
EN

Stack Overflow用户
提问于 2011-09-13 18:36:44
回答 2查看 2.4K关注 0票数 5

我目前在尝试使用PHP或Javascript读取cookies时遇到一些问题。我尝试过使用:

代码语言:javascript
复制
if(!$_COOKIE['popup_closed']
&& !isset($_COOKIE['username'])
&& !isset($_COOKIE['password'])
)

我试过了:

代码语言:javascript
复制
if(
$.cookie('popup_closed') == null
&& $.cookie('username') == null
&& $.cookie('password') == null) {
doStuff();
}

(使用jquery.cookie插件)

而且它们都不能在iPad上工作。它在所有浏览器上都能正常工作,我试着用谷歌搜索这个问题,但似乎没有太多关于在iPad上读取cookies的信息。

感谢你们能提供的任何帮助!

EN

回答 2

Stack Overflow用户

发布于 2011-09-16 17:59:50

这确实是一种变通方法,但如果本地存储可用,您可以使用它--至少我已经在iPad/iPhone中成功地使用过它。

例如,使用这种解决方案。

代码语言:javascript
复制
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);
}
票数 7
EN

Stack Overflow用户

发布于 2011-09-16 18:44:13

你有没有看过关于setcookie的manual?你应该使用所有变量,也许这解决了你不能用JS访问你的cookie的事实?另外,使用原生JS来访问cookie(而不是jQuery),这不是可行的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7400465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档