编写兼容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 相关文章推荐
快速查找数组中的某个元素并返回下标示例
Sep 03 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 Javascript
分析了一下JQuery中的extend方法实现原理
Feb 27 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
Javascript中的数组常用方法解析
Jun 17 Javascript
利用Node.JS实现邮件发送功能
Oct 21 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
详解vue-cli与webpack结合如何处理静态资源
Sep 19 Javascript
js实现头像上传并且可预览提交
Dec 25 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
2006/12/23 PHP
url decode problem 解决方法
2011/12/26 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
Yii rules常用规则示例
2016/03/15 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
JavaScript中this详解
2015/09/01 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
为什么称python为胶水语言
2020/06/16 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
印度在线杂货店:bigbasket
2018/08/23 全球购物
课程设计心得体会
2013/12/28 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
护理专业自荐信范文
2014/02/26 职场文书
报告会主持词
2014/04/02 职场文书
住宅使用说明书
2014/05/09 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
优秀团支部申报材料
2014/12/26 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL