[英]Is it possible to override Local Storage and Session Storage separately in HTML5?
[英]What are the alternatives to html5 session storage?(not local storage)
我想要2個javascript方法來訪問某些數據,而無需將此數據作為參數傳遞給任何方法。 基本上,我想要一種方法來設置數據,而另一種方法是使用瀏覽器中已經可用的對象來使用該數據,並且我希望該解決方案能夠與Safari,Firefox,Chrome和IE8 +以及iOS和android瀏覽器一起使用。 我認為會話存儲在iOS上不起作用。 這是正確的嗎? 會話存儲的缺點是什么? 我試圖將數據附加到事件對象,但在Firefox和IE中不起作用。
盡管sessionStorage
可用於iOS,但您可以執行以下操作以獲取舊版支持。 您可以使用window.name
。 它通過會話存在(即,直到關閉瀏覽器選項卡):
var myData = {
'foo': 'bar',
'foz': 'baz'
};
window.name = JSON.stringify(myData);
您可以將其讀回:
var myData = JSON.parse(window.name);
當然,這需要瀏覽器的JSON支持,這會使非常老的瀏覽器不在范圍之內。
您可以使用“全局變量”(我在引號中加上了引號,因為我不確定它在Javascript中實際調用了什么)。 但基本上,您可以只在其中一個javascript文件中創建一個對象,然后對其進行寫入/讀取操作。
就像是
var data = { first: "first", second: "second" }
並根據需要在該對象中創建盡可能多的變量。 函數會像
function(param) {
var firstData = data.first;
}
或者我猜想使用cookie更接近於您所描述的自己的解決方案,但是,如果您只需要在Javascript方法之間傳遞數據,那似乎就太過分了。
我選擇了數據屬性,而不是上面提到的方法,它們對我來說很好用。 IE9和IE8提出了一些我需要解決的問題。 在IE9和IE8中,數據屬性有時起作用,有時不起作用。 在使用控制台查詢元素的數據屬性之后,它們開始工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.