编写兼容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 27 Javascript
javascript delete 使用示例代码
Mar 29 Javascript
javascript JSON操作入门实例
Apr 16 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
Feb 26 Javascript
jquery制作弹窗提示窗口代码分享
Mar 02 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
Aug 30 Javascript
jQuery grep()方法详解及实例代码
Oct 30 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
Dec 11 Javascript
详解CocosCreator消息分发机制
Apr 16 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python序列操作之进阶篇
2016/12/08 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
基于python 凸包问题的解决
2020/04/16 Python
python两个list[]相加的实现方法
2020/09/23 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
database面试题
2013/03/28 面试题
中国梦的演讲稿
2014/01/08 职场文书
党章学习思想汇报
2014/01/14 职场文书
京剧自荐信
2014/01/26 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
保安公司服务承诺书
2014/05/28 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript