我有一個基於Java腳本的Android應用程序(希望後來iPhone),並使用Phonegap/Applaud製作成應用程序。如何使用Javascript將本地存儲的Cookie存儲?
不幸的是,設置和獲取Cookie在Android上不起作用,這可能是Android環境特有的。我被告知使用「本地存儲」可能更可靠。
但是,直到今天早上,我對本地存儲一無所知,所以我正在努力獲得水分。從我所收集的內容來看,它基本上是另一種用不同語法保存數據的地方。對於我的情況,除了Android迫使我使用它之外,我認爲它不會給我帶來任何好處。因此,我希望我仍然可以利用現有的代碼來設置和獲取Cookie,而不必採用全新的方法。
當然,我可以在我的Javascript中做一個測試,看看是否有本地存儲,如果有,在那裏存儲和檢索我的cookie數據,如果沒有,那麼就像正常使用cookie一樣?
注1:我搜索堆棧溢出類似的問題,並有this one which at first seems exactly what I'm talking about,但它太簡潔,所以我不能分析它知道我應該用它做什麼。此外,我認爲它假設我認爲我沒有庫和代碼的存在。我也看着this question,但我認爲這跟我之後的事情相反。
注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);
}
最近規格有變化還是localStorage仍然只有'string'? –
它只是字符串,但餅乾也是如此,所以它在這個特定的上下文中並不重要。你可以串行化對象,所以它不像是字符串只是一個限制(儘管自動序列化會很好) –
本地存儲是否在所有瀏覽器上都使用? – Questioner