编写兼容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 相关文章推荐
js实现图片点击左右轮播
Jul 08 Javascript
Vue数据驱动模拟实现1
Jan 11 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
JavaScript动态检测密码强度原理及实现方法详解
Jun 11 Javascript
对layui中的onevent 和event的使用详解
Sep 06 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
在项目vue中使用echarts的操作步骤
Sep 07 Javascript
微信小程序input抖动问题的修复方法
Mar 03 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发送与接收流文件的方法
2015/02/11 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python json模块使用实例
2015/04/11 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
关于颐和园的导游词
2015/01/30 职场文书
团结主题班会
2015/08/13 职场文书
电工生产实习心得体会
2016/01/22 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js