我有一个适用于 Android(希望以后还有 iPhone)的应用程序,它基于 Javascript,并使用 Phonegap/Applaud 制作成应用程序。
不幸的是,设置和获取 cookie 在 Android 上不起作用,这可能是 Android 环境特有的。有人建议我使用“本地存储”可能更可靠。
然而,直到今天早上我对本地存储一无所知,所以我正在努力熟悉。据我所知,它基本上只是用不同语法保存数据的另一个地方。就我的情况而言,除了 Android 强迫我使用它之外,我认为它没有给我带来任何优于 cookie 的优势。因此,我希望我仍然可以利用现有的代码来设置和获取 cookie,而不必采用全新的方法。
当然,我可以在我的 Javascript 中进行测试,看看是否有本地存储,如果有,则在那里存储和检索我的 cookie 数据,如果没有,那么就像平常一样使用 cookie 吗?
Note 1:我在 Stack Overflow 上搜索了类似的问题,有这个乍一看似乎正是我所说的 https://stackoverflow.com/questions/8347200/local-storage-android-and-phonegap,但它太简洁了,所以我无法解析它来知道我应该用它做什么。另外,我认为它假设存在我认为不存在的库和代码。我也看了这个问题 https://stackoverflow.com/questions/6130480/write-local-storage-data-into-cookie-via-javascript但我认为这与我所追求的相反。
Note 2:这是我当前用于获取和设置 cookie 的代码(从网络上的某个地方获取。直到 Android 问题为止,都是非常可靠的):
function getCookie(c_name)
{
var c_start = document.cookie.indexOf(c_name + "=");
if (document.cookie.length > 0)
{
if (c_start !== -1)
{
return getCookieSubstring(c_start, c_name);
}
}
return "";
}
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());
alert("this is document.cookie: " + document.cookie);
}