我在网络上使用了一些 Javascript 代码,也在使用 Phonegap 的 Android 应用程序中使用了一些 Javascript 代码。
起初,我的代码设置为默认使用本地存储,如果没有本地存储,则默认使用 cookie。
但是,在某些情况下(这里太复杂,无法进入),这是行不通的,所以我想看看我是否可以采用其他方式:默认使用 cookie,如果无法使用 cookie,则使用本地存储。
真的,只有 Android 的 cookie 有问题,所以基本上如果我的代码在 Android 设备上使用,那么我想切换到本地存储。
无论如何,这里是设置我拥有的 cookie/本地存储数据的代码,但它不起作用:
function setCookie(c_name, value, expiredays)
{
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) +
((expiredays === null) ? "" : ";expires=" + exdate.toUTCString());
if(document.cookie.length < 1 && typeof localStorage != "undefined")
{
localStorage.setItem(c_name, value);
}
}
我认为问题可能出在它所说的地方document.cookie.length < 1
。这是查看是否设置了 cookie 的可靠方法吗?
底线:如何可靠地默认设置 cookie,并在不存在 cookie 的情况下使用本地存储作为替代方案?