编写兼容IE和FireFox的脚本

一、正式表达式问题
试图用以下表达式提取中括号“]”后面的内容,连接调用以下代码在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则无此问题。

(0)

相关推荐

  • 编写兼容IE和FireFox的脚本

    一.正式表达式问题 试图用以下表达式提取中括号"]"后面的内容,连接调用以下代码在IE下正常,FireFox则总是会用单数行的内容替代双数行的内容. (/(\])([^ -}]*)/ig).exec(srcText); newtext = "[部门]" + RegExp.$2; 后证实问题出在"ig"的"g"上,FireFox把RegExp当全局变量来处理,且没有及时更新$2,这种问题实在莫名其妙. 二.移除Select的条目

  • 兼容IE与firefox火狐的回车事件(js与jquery)

    javascript 兼容IE与firefox火狐的回车事件 复制代码 代码如下: <script language="javascript"> function keypress(e) { var currKey=0,e=e||event; if(e.keyCode==13)document.myform.submit(); } document.onkeypress=keypress; </script> 复制代码 代码如下: <script>

  • 无间断滚动的新闻文章列表,兼容IE、Firefox和Opera,符合W3C标准。可作Marquee

    <!--Quirks Mode--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&

  • js窗口关闭提示信息(兼容IE和firefox)

    很多时候,在浏览网页时,我们需要考虑用户不小心时关闭窗口的情况,特别是当用户有很重要的数据还没有保存,我们的程序有必要对用户进行提醒.这个时候我们可以通过是用javascript window.onbeforeunload() 这个方法来阻止用户关闭窗口,见如下这个例子: <script type="text/javascript"> window.onbeforeunload=function(event){ return 'hello'; } </script&g

  • js操作XML文件的实现方法兼容IE与FireFox

    最近项目中用到了xml,需求是用户安装产品时先把一系列的数据保存到xml文件中,当执行到最后一步时才写入数据库,这样最大限度的减少了数据库的访问,于是不得不纠结在各浏览器的兼容性的问题(悲哀啊....) 进入正文 下面是一个xml文件 (createInstal.xml) <?xml version="1.0" encoding="utf-8"?> <info> <Item> <id descrption="级别&

  • 通用弹出层页面(兼容IE、firefox)可关闭控制宽高及屏蔽背景

    <%...@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> <%.../* 通用弹出层页面(兼容IE.firefox) 说明: 1.openWindows(width,height)----打开弹出层调用的函数,可控制层的宽度和高度 2.hiddenWindows(

  • window.event.keyCode兼容IE和Firefox实现js代码

    HTML代码 复制代码 代码如下: <input type="text" onkeydown="keyNumAll(event);" > Javascript 代码 复制代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : ""); var key =

  • js实现兼容IE、Firefox的图片缩放代码

    本文实例讲述了js实现兼容IE.Firefox的图片缩放代码.分享给大家供大家参考,具体如下: function SetSize(obj, width, height) { myImage = new Image(); myImage.src = obj.src; if (myImage.width > 0 && myImage.height > 0) { var rate = 1; if (myImage.width > width || myImage.height

  • 间隔滚动效果-兼容IE和FireFox

    兼容IE与FF Code:间隔滚动效果-兼容IE和FireFox 14家国内银行启用CN新域名防诈骗 华军,天空就暂停迅雷下载发布最新公告 微软OneCare处子秀过关 拦住Word漏洞木马 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • js之完全兼容ie与firefox的拖动层代码[测试好用]

    zhou's html 一共三个层,下面还有一个,把他拖上来 Magnolia Mag.nolia Mozilla Red 小 纸 条 一共三个层,下面还有一个,把他拖上来 有了拖动层,做局部拖动很简单 小 纸 条 一共三个层,下面还有一个,把他拖上来 顺便练习下颜色搭配 Shiny silver var $=function(id){return document.getElementById(id)}; Array.prototype.extend=function(C){for(var B

随机推荐