相关疑难解决方法(0)

在HTML5 localStorage中存储对象

我想在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)

javascript html5 local-storage

2386
推荐指数
14
解决办法
101万
查看次数

Angularjs数据存储的最佳实践

我的角应用程序有2个控制器.我的问题是,当用户离开页面时,控制器不会保留数据.

如何将控制器上的选定数据存储到数据存储中,以便在其他控制器之间使用?

javascript angularjs

23
推荐指数
2
解决办法
3万
查看次数

HTML5 localStorage从值获取密钥

localStorage.getItem将检索值.

和setItem将设置值.

但是,如果我想知道哪个键与此特定值相关联?那么如何获得Key.

所以我已经提到了这个问题

html javascript html5

16
推荐指数
1
解决办法
2万
查看次数

HTML5 localStorage有用的函数// JavaScript,TypeScript

如何:*

  • 检查是否localStorage支持
  • 检查是否localStorage有物品
  • 获得剩余的空间 localStorage
  • 获得最大的空间 localStorage
  • 获取已用空间 localStorage
  • 获得备份 localStorage
  • 应用备份到 localStorage
  • 转储localStorage控制台中的所有信息

*检查下面的答案


常问问题:

  • [link]如何存储对象localStorage
  • [link]如何存储数组localStorage
  • [link]如何保存图像localStorage
  • [link] localStorage教程(还包括存储事件要记住的事项)

有关:

  • [链接]有关Web存储的一般信息
  • sessionStorage当页面会话结束时,存储的[link]数据被清除
  • [link] indexedDB用于客户端存储结构化数据的低级API

html javascript html5 local-storage typescript

16
推荐指数
1
解决办法
2万
查看次数

在会话存储中存储数组内容

我有数据显示在表格中。我删除了一行,我需要隐藏它,直到该删除也暴露给后端(它只在一分钟后暴露)。还有每 25 秒发生一次的自动刷新,这会带来陈旧的数据(仅在一分钟后,后端才可以使用更新的数据)。

我决定使用 sessionStorage 来存储已删除的对象,然后每当出现陈旧数据时,我都会进行比较而不显示在表中。

但是 sessionStorage 不支持数组。因此,当用户删除一个对象,转到其他页面,返回并删除另一个对象(sessionStorage 变量被覆盖)然后刷新时,只有最后一个删除的对象被隐藏,所有其他删除的对象都会显示

我不确定如何将已删除的对象存储在会话存储中。

session-storage angularjs

6
推荐指数
1
解决办法
1万
查看次数

localstorage - 保存数组

我有localstorage工作到我可以保存输入的位置并将它们推送到列表中.现在我想将列表保存在localstorage中,因为当我重新加载列表时,由于var fav = new Array();在此jsFiddle的开头定义了重置.我该如何解决这个问题?

谢谢,本

html javascript local-storage

3
推荐指数
1
解决办法
8998
查看次数

什么可以存储在DOM存储中?

任何对象都可以存储在DOM存储中吗?

当我执行以下操作时:

// where val is a string and response is an array of objects.
sessionStorage.results= { val: response };
Run Code Online (Sandbox Code Playgroud)

当我检查sessionStorage.results我得到的价值"[object Object]"

我可以存储这样的对象吗?或者Storage只存储字符串?

javascript html5 dom session-storage local-storage

1
推荐指数
1
解决办法
1033
查看次数

存储和检索100个元素的数组

我正在使用Greasemonkey / Tampermonkey来访问页面,并根据当前页面的内容对100个元素的表进行更改。

短期存储和数组操作可以正常工作,但是我想永久存储数据。我已经试过GM_getValue/ GM_setValueGM_SuperValuelocalStorage,和indexedDB,但我清楚地失去了一些东西根本。
似乎没有什么可以让我将数组写入永久存储,然后再将其读回到变量中,以便我可以访问每个元素,因此variablename[32]实际上是表中的第32个元素(嗯,如果从零开始计数,则为第33个元素,我做)。

脚本运行时,我需要访问整个100个元素的表,因为我需要在页面本身上输出其中的部分或全部。在最基本的情况下,我有一个for循环,该循环从0到99,输出variablename[i]每次的值。

我对任何方法都没有倾向,我只想让Grickasemonkey / Tampermonkey脚本中的frickin工作。

在脚本顶部,我有这个:

for (var i = 0; i <= 99; i++) {
    currentData[i] = localStorage.getItem(currentData[i]);
}
Run Code Online (Sandbox Code Playgroud)

上一节的目的是将100个条目读入currentData数组。现在这实际上对我不起作用,可能是因为我一开始没有正确存储东西。

在中间,在修改了其中一个元素之后,我想通过执行以下操作来替换它:

localStorage.setItem(
        currentData[specificElementToChange], differentStuff);
Run Code Online (Sandbox Code Playgroud)

上面的目的是更改100行数据之一并将其永久存储,因此,下次读取顶部的代码时,它将拉出所有100个条目,而上一行更改了一个元素。

这是一般原则。

由于Firefox / Chrome的某些安全性问题,或者由于要执行的操作(在每次访问给定页面时将数组永久存储在一个元素上而永久更改),我无法确定我的操作是否无效不可能。

使用该variable[element]格式访问数组很重要,但除此之外,我可以用任何方式存储此数据并简单地检索它。

javascript arrays greasemonkey local-storage tampermonkey

1
推荐指数
1
解决办法
148
查看次数

Javascript:push不是数组的函数吗?

$(function(){
    $('body').on('click', '.queue', function(event) {
        var video = $(this).closest('.video');
        console.log(video);
        var queue = localStorage.getItem('queue');
        if (! queue ) {
            queue = [];
        }
        queue.push(video);
        localStorage.setItem('queue', queue);
        console.log(localStorage.getItem('queue'));
        bootstrap_alert.success('queued!');
    });
});
Run Code Online (Sandbox Code Playgroud)

当我尝试测试这个时,我得到控制台上的错误说

TypeError: queue.push is not a function 

queue.push(video);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

javascript jquery

0
推荐指数
1
解决办法
2933
查看次数