js本地存储的区别(怎么用js实现把数据存储到本地)

本文目录
怎么用js实现把数据存储到本地
js只是一种编程语言,要看使用环境的:
1、浏览器环境,比如我们看网页,看手机都是浏览器环境,这个环境下基本上用的是cookie,cookie是一种缓存技术,如果浏览器清空cookie,那么你存的东西就没了。如果用cooki,建议使用jquery的cookie插件,封装得很完整,直接拿来没问题的。另外,还可以Blob对象创建一个下载目标,这样用户可以把数据存到本地的一个文件里。但是不能自动完成,需要用户点击确定一个下载的位置。关于Blob使用方法,你自己百度一下吧。
2、nodejs环境,nodejs主要是服务器,nodejs支持本地存储的。但是需要权限,如果你的服务器的存储权限不开放,也会出错。
3、html5的新功能。sessionStorage,localStorage,openDatabase了解一下。这是新出来的技术,不一定所有的环境都支持,需要看浏览器的。
如何使用javascript生成txt格式文件保存到本地,要求跨浏览器支持,怎么做呢
最近看到好几个人问这问题了,其实要实现并不难,而且还是跨浏览器的,但并不完美。
IE 是通过 ActiveXObject,前提是浏览者的安全设置中允许此项且同意使用。
Firefox/Chrome/Safari/Opera 是通过 a 元素的 href 属性,加上 base64 数据来实现(data URI)。
下面的代码在 IE 6-9,Firefox 19,Chrome 26,Safari 5.0.5,Opera 12.15 测试通过。
【注意】base64 函数和完整代码在空间:hi.baidu.com/keneks/item/a8b10b04fd862f016c904813
《script type="text/javascript"》
/* var Base64 = {}; */
window.onload = function() {
var save = document.getElementById("save");
// IE
if(/msie/i.test(navigator.userAgent)) {
save.onclick = function() {
var path = prompt("输入保存路径和文件名", "C:\\test.txt");
var content = document.getElementById("content").value;
content = content.replace(/\n/g, "\r\n");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile(path, true);
s.WriteLine(content);
s.Close();
};
}
// Firefox/Chrome/Safari/Opera
else {
// 鼠标经过 a 的时候就开始 base64 编码
save.onmouseover = function() {
var content = document.getElementById("content").value;
this.setAttribute("href",
"data:application/octet-stream;base64,"
+ Base64.encode(content));
};
}
};
《/script》
表单之暂存数据:浏览器刷新/关闭后,依旧保存之前的记录
总有人以为做个表单很容易,就那么几个页面,反复做了好几天,天天以为你啥都没干,真是无语了。
页面是挺简单的,但是那么多按钮,你以为就画个样式就行了,不要做js逻辑啊,我也是脸上笑嘻嘻,心里MMP,内心一万只草泥马无处奔腾。
我的表单 上 每页 上都有一个 暂存 的功能
综上: 个人感觉写 java接口 的方法会 更安全点、更好点。 介于实际情况,我就先搞 localStorage 了。
localStorage 又名 本地存储 ,与之对应的是 离线存储sessionStorage ,他们都是 h5 新增的。
localStorage的 显著特点 是:你不主动去清除它,它就会一直保存, 将存储数据存储在客户端(存储方式) ,即使你关闭了客户端(浏览器),它也依旧存在,属于本地持久层储存。
而 sessionStorage 用于本地存储一个会话(session)中的数据,如果说这个会话 临时关闭 了,那么 数据也会消失 ,比如 页面刷新 或者 关闭浏览器 等等情况。
其实localStorage是 只能存储字符串 的,并 不能直接存储对象 的。
那么如果要 存储对象 , 一定要先把它转换成字符串 。
举个栗子吧:
该种做法 只适用于用户在同一台电脑上操作 。
如果用户在公司填一半,回家换电脑填就不行了!
换台电脑就没用了,所以说这个暂存的功能前端实现是有很大得缺陷得,归根结底 还是得写接口 ,卧槽真是MMP得。
浏览器本地存储是怎样的
在较高版本的浏览器中,js 提供了 sessionStorage 和 globalStorage。在 HTML5 中提供了 localStorage来取代globalStorage。
html5中的WebStorage包括了两种存储方式:sessionStorage和localStorage。 sessionStorage 用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能 访问并且当会话结束后数据也随之销毁。因此 sessionStorage 不是一种持久化的本地存储,仅仅是会话 级别的存储,而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

更多文章:
force-unicode-font是什么意思?ღ᭄ꦿ这些特殊字是怎么来的
2026年9月27日 23:50
java重载和覆盖的定义(java中方法重载和重写的区别和定义)
2026年9月27日 22:50
变幻金刚魔方教程图解(变幻金刚魔方的最后一步,研究了很长时间就是搞不 出来,能教教我吗)
2026年9月27日 21:00
怎样使用dreamweaver(怎么用dreamweaver制作网页如何用dreamweaver制作网页)
2026年9月27日 20:40
css提交按钮怎么写(html:submit能加css样式吗)
2026年9月27日 19:20
雨崩近年危险事件调查(下雨好长时间了,去雨崩的路况怎么样有刚从雨崩回来的吗)
2026年9月27日 13:20
shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)
2026年9月27日 10:50



