编写兼容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 相关文章推荐
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
vue中如何实现pdf文件预览的方法
Jul 12 Javascript
Angularjs实现多图片上传预览功能
Jul 18 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
JavaScript实现的3D旋转魔方动画效果实例代码
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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
python传递参数方式小结
2015/04/17 Python
Python对列表排序的方法实例分析
2015/05/16 Python
关于反爬虫的一些简单总结
2017/12/13 Python
python爬取内容存入Excel实例
2019/02/20 Python
Python根据服务获取端口号的方法
2019/09/25 Python
python3.4中清屏的处理方法
2020/07/06 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
C语言面试题
2013/05/19 面试题
心得体会范文
2014/01/04 职场文书
小学生综合素质评语
2014/04/23 职场文书
校园之声广播稿
2015/08/18 职场文书