html5会话存储的替代方案是什么?(不是本地存储)
What are the alternatives to html5 session storage?(not local storage)
我希望 2 个 javascript 方法来访问某些数据,而无需将此数据作为参数传递给任何方法。基本上,我希望一种方法来设置数据,而另一种方法是使用浏览器中已有的对象来使用这些数据,我希望该解决方案适用于Safari,Firefox,Chrome和IE8 +以及iOS和Android浏览器。我相信会话存储在iOS上不起作用。正确吗?会话存储的缺点是什么。我尝试将数据附加到事件对象,但它在火狐和 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中,数据属性有时有效,有时无效。使用控制台查询元素的数据属性后,它们开始工作。
相关文章:
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在 Windows 现代(地铁)UI 应用中存储图像文件和音频文件的方法是什么?
- 在JavasciptMVC中存储常量值的最佳方式是什么
- Angular:将对象存储在服务中以在视图中显示和将crud函数存储到服务器的最佳方式是什么
- 将密码存储在Javascript变量中的安全含义是什么
- 在 Javascript 中存储对象的当前状态的最佳实践是什么?
- Flux,ReactJS,架构的存储部分是什么
- 与 API 一起使用时,将 Date 对象存储在数据库中的最佳实践是什么
- 在 JavaScript 中存储非常大的二进制数的最佳方法是什么?
- 此对象的键存储的格式是什么?%00*%00_data.
- 在 Angular 2.0 应用程序中存储应用程序数据的正确方法是什么?
- 将动态网页存储为对象的最佳方法是什么
- 在数据库中存储大量标记的最佳方法是什么
- 从存储中删除多条记录的最佳方法是什么?extjs
- 集成测试JavaScript与本地存储交互的正确方法是什么
- 单击上一个按钮浏览器后,存储和检索数据的最佳方式是什么
- 谷歌experimentmode在chrome本地存储中的意义是什么
- 从上游处理本地web存储更改的建议方法是什么
- 如何将数组发送到存储过程?如果我从JS发送数据,最好的数据格式是什么