编写兼容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 text,radio,checkbox,select操作实现代码
Jul 09 Javascript
Javascript 类型转换方法
Oct 24 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
Dec 30 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
May 04 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
Aug 24 Javascript
利用Dectorator分模块存储Vuex状态的实现
Feb 05 Javascript
JS制作简易计算器的实例代码
Jul 04 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
python Celery定时任务的示例
2018/03/13 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
python编程的核心知识点总结
2021/02/08 Python
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
办公室副主任岗位职责
2013/11/25 职场文书
大学生饮食配送创业计划书
2014/01/04 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
保护环境倡议书
2014/04/14 职场文书
产品质量保证书
2014/04/29 职场文书
英语系本科生求职信
2014/07/15 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2014年党支部工作总结
2014/11/13 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
小学生心理健康活动总结
2015/05/08 职场文书