IE本地存储userdata的一个bug说明


Posted in Javascript onJuly 01, 2010

关于userdata的简单资料:请点击这里

再一次项目上用到ie的userdata,考虑当用户不使用flash插件用于存储一些聊天记录

触发bug?条件:

1、通过userdata在同一个xml文件内存储两个属性 xxx.setAttribute('a', '111'); xxx.setAttribute('b', '222'); xxx.save('xmlname');

这时userdata对应的xml文件内是这样的 <ROOTSTUB a="111" b="222" />

2、ctrl+F5 刷新页面后,通过 xxx.removeAttribute('a'); 删除已知属性 'a'; 预期结果:<ROOTSTUB b="222" />

实际结果: <ROOTSTUB />

bug?:在删除一属性时连带删除了另一个属性

猜测:userdata在操作时可能和ie自身缓存有某种程度的绑定关联,在强刷后缓存丢失导致?

解决土方法:

在删除一属性时,请先通过 xxx.load('xmlname'); var val = xxx.getAttribute('b'); 把另一个属性load出来保存在一变量中,在removeAttribute成功后,

再把b属性setAttribute('b', val); 回去。

希望对你有帮助,谢谢。

ps:用Storage多好啊,别扭

Javascript 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
JavaScript 自动完成脚本整理(33个)
Oct 20 Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
Jan 07 Javascript
基于JavaScript操作DOM常用的API小结
Dec 01 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 Javascript
js使用formData实现批量上传
Mar 27 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
使用gulp构建前端自动化的方法示例
Dec 25 Javascript
vue实现在data里引入相对路径
Jun 05 Vue.js
UserData用法总结 lanyu出品
Jul 01 #Javascript
javascript 函数调用的对象和方法
Jul 01 #Javascript
this和执行上下文实现代码
Jul 01 #Javascript
jquery.validate使用攻略 第五步 正则验证
Jul 01 #Javascript
jquery validate使用攻略 第四步
Jul 01 #Javascript
jquery.validate使用攻略 第三部
Jul 01 #Javascript
jquery.validate使用攻略 第二部
Jul 01 #Javascript
You might like
php代码书写习惯优化小结
2013/06/20 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
常用的javascript设计模式
2017/01/11 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python Pandas 箱线图的实现
2019/07/23 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
html如何对span设置宽度
2019/10/30 HTML / CSS
实用的简历自我评价
2014/03/06 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
外贸英文求职信范文
2015/03/19 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js
python中pymysql包操作数据库方法
2022/04/19 Python