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 相关文章推荐
js本身的局限性 别让javascript做太多事
Mar 23 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
Apr 10 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
Dec 04 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
Bootstrap CSS组件之大屏幕展播
Dec 17 Javascript
javascript html5轻松实现拖动功能
Mar 01 Javascript
Angular5.1新功能分享
Dec 21 Javascript
Vue页面刷新记住页面状态的实现
Dec 27 Javascript
js实现点击生成随机div
Jan 16 Javascript
JS面向对象编程——ES6 中class的继承用法详解
Mar 03 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
phpmyadmin操作流程
2006/10/09 PHP
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
Vue分页插件的前后端配置与使用
2019/10/09 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
python基础教程之Filter使用方法
2017/01/17 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
岗位聘任书范文
2014/03/29 职场文书
房屋过户委托书范本
2014/10/07 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
小学体育课教学反思
2016/02/16 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
golang为什么要统一错误处理
2022/04/03 Golang
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS