sessionStorage和localStorage存储在客户端计算机上的哪个位置?
你能告诉我这条路吗?
所以这里有一个类似的帖子html-5-filesystem-access-type-error.但是,我对结论不是很满意,因为我觉得它实际上没有回答这个问题 - 给出的解决方案是不推荐使用的代码解决方案.有没有人知道如何使用navigator
而不是window
像Chrome控制台通知那样做?
我一直在使用以下它可以工作,但Chrome控制台一直告诉我不要这样做,因为它已被弃用.
工作不推荐的代码
window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024*280, function(grantedBytes) {
window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler);
}, function(e) {
console.log('Error', e);
});
Run Code Online (Sandbox Code Playgroud)
注意:onInitFs
并且errorHandler
它们都是在其他地方定义的功能.
控制台日志 - 我在控制台中收到的消息如下:
'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage'
or 'navigator.webkitPersistentStorage' instead.
Run Code Online (Sandbox Code Playgroud)
因此,最佳做法是停止使用已弃用的方法.不幸的是,当我window
用navigator
它更换崩溃时(见下文).如何使用navigator
而不是window
访问文件系统?
我已经制作了一个简单的Web应用程序的高级功能原型,并且延迟已经将其推向了"实时"的位置.
目前,它只是使用JavaScript的localStorage
工具来跟踪发生的事情,但由于偏执,我们不希望它被破坏导致数据丢失(它肯定感觉有点粗略,从不与服务器通信).
Firefox在哪里保留其localStorage
数据库(我认为它是SQLite,但我找不到它)?
我已经学会了sessionStorage
(在会话期间持续)和localStorage
(如果没有删除则永远存在)之间的区别.
我可以看到它localStorage
可以用作更好的cookie版本.(更大的尺寸,不是像cookie那样为每个HTTP请求前往服务器).
但是,因为sessionStorage
,我在想什么时候才能有效地使用它?
我想到用户输入到pageA中的文本字段,然后在同一个选项卡或浏览器窗口中移动到pageB,pageB可以查找sessionStorage.
我不能真正扩展我的猜测,而不是上面的场景.谁能告诉我sessionStorage怎么用?
如何在Chrome和Firefox中查看HTML5网络存储?有哪些最好的工具?
在使用HTML5 WebStorage功能时,我知道某些浏览器(如Chrome)具有开发人员工具,使用户能够浏览WebStorage的内容以进行调试和故障排除.
我想知道是否可以在文件系统中查看Web存储的内容.此内容是否存储在文件系统中位于某个标准位置的文本文件中?或者这些数据是否由各种浏览器以某种专有的二进制格式存储,并且不能通过浏览文件系统来访问或查看?
我提出这个问题的动机是看你是否可以在文件系统上查看WebStorage的内容作为开发和调试的帮助,而且出于好奇也看看这些数据是如何实际存储的.
谢谢.
一些问题涉及HTML5的sessionStorage:
我在另一个SO问题中找到了这个网站http://dev-test.nemikor.com/web-storage/support-test/,我想知道数据是否仍然相关?
我本质上在做什么
var dictionary = [ HERE I PASTE ALMOST 200k ENTRIES ]
Run Code Online (Sandbox Code Playgroud)
它抛出:
使用name保存设置时出错:consoleHistory,值长度:8613059.错误:无法在'Storage'上设置'consoleHistory'属性:设置'consoleHistory'的值超出了配额.
十大设置:设置:'consoleHistory',大小:2872834设置:'previousViewedFiles',大小:5462设置:'networkLogColumnsVisibility',大小:378设置:'dataGrid-networkLog-columnWeights',大小:340设置:'userAgent',尺寸:146设置:'Inspector.drawerSplitViewState',尺寸:94设置:'selectedAuditCategories',尺寸:79设置:'sourcesPanelNavigatorSplitViewState',尺寸:65设置:'sourcesPanelSplitViewState',尺寸:65设置:'InspectorView.splitViewState',尺寸:42
我想稍后使用字典来搜索东西,我在这里碰壁.
来自https://developers.google.com/web/fundamentals/app-install-banners/#trigger-m68
let deferredPrompt;
window.addEventListener('beforeinstallprompt', (e) => {
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
});
Run Code Online (Sandbox Code Playgroud)
这段代码很好,但我想稍后在另一个地方触发藏匿事件.为了执行该操作,我需要将事件存储在变量中,而不是存储在其他地方.
我尝试使用对象的序列化/反序列化进行本地存储:
> localStorage.setItem('stashed-event', JSON.stringify(e))
>
> JSON.parse(localStorage.getItem('stashed-event'))
Run Code Online (Sandbox Code Playgroud)
但是这种方法不能按预期工作,因为它只存储键值并丢失所有事件方法.
我想要一种在客户端上存储信息的方法,可以通过我的站点的SSL和nonSSL版本访问.localStorage是一个很好的机制,但它只能通过当前协议访问.
我希望能够通过javascript在我网站的非ssl(http)部分存储一条信息,并在我网站的SSL(https)部分访问它.
有谁知道在ssl和非ssl页面之间共享存储的客户端信息的好方法?
我知道我总是可以默认使用cookie.但是我讨厌必须为每个请求来回发送cookie.