编写兼容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 相关文章推荐
ExtJS Window 最小化的一种方法
Nov 18 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
JavaScript基础函数整理汇总
Jan 30 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
基于Vue.js的表格分页组件
May 22 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
jQuery中的100个技巧汇总
Dec 15 Javascript
JavaScript实现弹出广告功能
Mar 30 Javascript
详解Node全局变量global模块
Sep 28 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
Vue路由管理器Vue-router的使用方法详解
Feb 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
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
php实现学生管理系统
2020/03/21 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
Python多继承顺序实例分析
2018/05/26 Python
python和shell获取文本内容的方法
2018/06/05 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Python3 翻转二叉树的实现
2019/09/30 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python ellipsis 的用法详解
2020/11/20 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
鼓励运动员的广播稿
2014/02/08 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
实施意见格式范本
2015/06/05 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python