编写兼容IE和FireFox的脚本


Posted in Javascript onMay 18, 2009

一、正式表达式问题
试图用以下表达式提取中括号“]”后面的内容,连接调用以下代码在IE下正常,FireFox则总是会用单数行的内容替代双数行的内容。
(/(\])([^ -}]*)/ig).exec(srcText);
newtext = "[部门]" + RegExp.$2;
后证实问题出在“ig”的“g”上,FireFox把RegExp当全局变量来处理,且没有及时更新$2,这种问题实在莫名其妙。
二、移除Select的条目
IE支持select.options.remove(index),FireFox却是select.remove(index),兼容的方法是select.options[i] = null;
三、showModalDialog
FireFox可以showModalDialog的了,不过如果showModalDialog出来的页面套了个frame,frame的页面取window.dialogArguments可以成功,FireFox不行,要用window.parent.dialogArguments来取。
四、childNodes
FF没有children,要兼容用childNodes,但IE和FF解释不一致,FF将空白文本、换行当成节点,为避免childNodes(index)取得的节点正确,HTML标识间不要有空格或换行 。
五、removeChild
FF中不能和node.removeNode(true),改为node.parentNode.removeChild(node)。
六、outerHTML
FF没有node.outerHTML,在调用node.parentNode.innerHTML来特别处理,若只是添加事件响应或设属性值,可直接element.onclick = function(){callxxx(x,y);}
七、script域问题
此问题原因不详,FF用<script type="text/javascript" src="inc/lib.js"></script>调用外部JS,在内部script中调用lib.js中的函数时,报告函数未定义,IE则无此问题。

Javascript 相关文章推荐
jquery 新手学习常见问题解决方法
Apr 18 Javascript
JavaScript实现16进制颜色值转RGB的方法
Feb 09 Javascript
CSS javascript 结合实现悬浮固定菜单效果
Aug 23 Javascript
分享一些常用的jQuery动画事件和动画函数
Nov 27 Javascript
ES6所改良的javascript“缺陷”问题
Aug 23 Javascript
Vue插件写、用详解(附demo)
Mar 20 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
使用Dropzone.js上传的示例代码
Oct 10 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
Nov 05 Javascript
简单了解JavaScript作用域
Jul 31 Javascript
innerText和innerHTML 一些问题分析
May 18 #Javascript
JS 页面自动加载函数(兼容多浏览器)
May 18 #Javascript
Js 本页面传值实现代码
May 17 #Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
May 17 #Javascript
Javascript 强制类型转换函数
May 17 #Javascript
jQuery live
May 15 #Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 #Javascript
You might like
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php数组分页实现方法
2016/04/30 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
python版简单工厂模式
2017/10/16 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
python中str内置函数用法总结
2020/12/27 Python
scrapy-splash简单使用详解
2021/02/21 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
党员党性分析材料
2014/02/17 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
员工入职担保书范文
2014/04/01 职场文书
中秋节主持词
2014/04/02 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
汽车车尾标语大全
2015/08/11 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
golang 实现菜单树的生成方式
2021/04/28 Golang
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python