编写兼容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 相关文章推荐
xss文件页面内容读取(解决)
Nov 28 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
jquery form表单获取内容以及绑定数据
Feb 24 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
JavaScript 对象详细整理总结
Sep 29 Javascript
详解前端自动化工具gulp自动添加版本号
Dec 20 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
解析php类的注册与自动加载
2013/07/05 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP加密解密实例分析
2015/12/25 PHP
零基础php编程好学吗
2019/10/11 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
高效的jquery数字滚动特效
2015/12/17 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
简单谈谈Python中的闭包
2016/11/30 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
python中time库的实例使用方法
2019/10/31 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
调解协议书
2014/04/16 职场文书
实习生评语
2014/04/26 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
小学教学工作总结2015
2015/05/13 职场文书
同意离婚答辩状
2015/05/22 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis