我想在HTML5中存储JavaScript对象localStorage,但我的对象显然正在转换为字符串.
我可以使用存储和检索原始JavaScript类型和数组localStorage,但对象似乎不起作用.他们应该吗?
这是我的代码:
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
console.log('typeof testObject: ' + typeof testObject);
console.log('testObject properties:');
for (var prop in testObject) {
console.log(' ' + prop + ': ' + testObject[prop]);
}
// Put the object into storage
localStorage.setItem('testObject', testObject);
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ' + retrievedObject);
Run Code Online (Sandbox Code Playgroud)
控制台输出是
typeof testObject: object
testObject properties:
one: 1 …Run Code Online (Sandbox Code Playgroud) 我希望通过将所有cookie移动到本地存储来减少我的网站上的加载时间,因为它们似乎具有相同的功能.除了明显的兼容性问题之外,使用本地存储替换cookie功能是否有任何优点/缺点(特别是在性能方面)?
有没有办法在javascript中重置/清除浏览器的localStorage?
如果我不需要localStorage,我的代码将如下所示:
var names=new Array();
names[0]=prompt("New member name?");
Run Code Online (Sandbox Code Playgroud)
这有效.但是,我需要将这个变量存储在localStorage中,并且证明它非常顽固.我试过了:
var localStorage[names] = new Array();
localStorage.names[0] = prompt("New member name?");
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
除了非持久性和仅限于当前窗口的范围之外,对本地存储的会话存储有任何好处(性能,数据访问等)吗?
由于localStorage(当前)仅支持字符串作为值,并且为了做到这一点,对象需要在存储之前进行字符串化(存储为JSON字符串),是否存在关于值的长度的定义限制.
有谁知道是否有适用于所有浏览器的定义?
localStorage,sessionStorage,session和cookies的技术优势和缺点是什么?我何时使用其中一个?
我的案例:带有键+值的localStorage应该在浏览器关闭时删除,而不是单个标签.
请查看我的代码是否正确以及可以改进的内容:
//create localStorage key + value if not exist
if(localStorage){
localStorage.myPageDataArr={"name"=>"Dan","lastname"=>"Bonny"};
}
//when browser closed - psedocode
$(window).unload(function(){
localStorage.myPageDataArr=undefined;
});
Run Code Online (Sandbox Code Playgroud) 数据存储在localStorage中(作为HTML5中DOM存储的一部分)可用多长时间?我可以为我放入localStorage的数据设置一个到期时间吗?
如何检查项目是否已设置localStorage?目前我正在使用
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
Run Code Online (Sandbox Code Playgroud) local-storage ×10
html5 ×8
javascript ×8
cookies ×2
html ×2
arrays ×1
httprequest ×1
jquery ×1