1. 对象问题
1.1 Form对象

现有问题:
现有代码这获得form对象通过document.forms("formName"),这样使用在IE 能接受,MF
不能。
解决方法
改用 作为下标运算。改为document.forms["formName"]
备注
上述的改用
作为下标运算中的formName是id而name

1.2 HTML对象
现有问题:
在 IE 中,HTML 对象的 ID 可以作为
document 的下属对象变量名直接使用。在 MF
中不能。
document.all("itemName")或者document.all("itemId")
解决方法:
使用对象ID作为对象变量名
document.getElementById("itemId")
备注
document.all是IE自定义的方法,所以请大家尽量不使用。
还有一种方式,在IE和MF都可以使用
var
f = document.forms["formName "];
var o = f. itemId;

1.3 DIV对象

现有问题:
在 IE 中,DIV对象可以使用ID作为对象变量名直接使用。在 MF 中不能。
DivId.style.display =
"none"
解决方法:
document.getElementById("DivId").style.display =
"none"
备注
获得对象的方法不管是不是DIV对象,都使用getElementById方法。参见1.2

1.4
关于frame
现有问题
在 IE中
可以用window.testFrame取得该frame,mf中不行
解决方法
在frame的使用方面MF和IE的最主要的区别是:
如果在frame标签中书写了以下属性:

那么IE可以通过id或者name访问这个frame对应的window对象
而mf只可以通过name来访问这个frame对应的window对象
例如如果上述frame标签写在最上层的window里面的htm里面,那么可以这样访问
IE:
window.top.frameId或者window.top.frameName来访问这个window对象
MF:只能这样window.top.frameName来访问这个window对象
另外,在mf和ie中都可以使用window.top.document.getElementById("frameId")来访问frame标签
并且可以通过window.top.document.getElementById("testFrame").src
= 'xx.htm'来切换frame的内容
也都可以通过window.top.frameName.location =
'xx.htm'来切换frame的内容

1.5 窗口

现有问题
IE中可以通过showModalDialog和showModelessDialog打开模态和非模态窗口,但是MF不支持。
解决办法
直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要传递参数,可以使用frame或者iframe。

2.
总结
2.1 在JS中定义各种对象变量名时,尽量使用id,避免使用name。
在 IE 中,HTML 对象的 ID 可以作为 document
的下属对象变量名直接使用。在 MF 中不能,所以在平常使用时请尽量使用id,避免只使用name,而不使用id。

2.2 变量名与某 HTML 对象
id 相同的问题
现有问题
在 MF 中,因为对象 id 不作为 HTML 对象的名称,所以可以使用与 HTML 对象 id 相同的变量名,IE
中不能。
解决方法
在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
此外,最好不要取与 HTML 对象 id
相同的变量名,以减少错误。

1. document.all
Firefox可以兼容document.all,
但会生成一条警告。可以用getElementById("*") 或者
getElementByTagName("*)来代替
不过对于document.all.length等属性,则完全不兼容。
2.
parentElement
这个也不兼容。比方说, obj.parentElement.name 则应改成
obj.parentNode.attributes.getNamedItem("name").nodeValue (不知道如何写得更简洁些)
3.
event
W3C不支持windows.event
比方说:
在IE里面

判断浏览器navigator.appName == "Microsoft Internet Explorer"
navigator.userAgent.indexOf("MSIE")>0
firefox不支持
window.close()
innerText textContent
firefox只有在window.open()的情况下支持window.close();但如果这个页是iframe也不行,建议用top.close.
children不支持,支持childNodes
firefox读xml也要注意IE里面01234子节点,firefox里面就变成13579了
IE
var opname=c.childNodes[0].text;
var opid=c.childNodes[1].text;
var opurl=c.childNodes[2].text;
var opuser=c.childNodes[3].text;
var opadress=c.childNodes[4].text
ff
var opname=c.childNodes[1].textContent;
var opid=c.childNodes[3].textContent;
var opurl=c.childNodes[5].textContent;
var opuser=c.childNodes[7].textContent;
var opadress=c.childNodes[9].textContent;
但是firefox还是支持chindNodes的

在firefox中,自己定义的属性必须getAttribute()取得
但是千万注意,getAttribute()取得的值是不会变的,比如
var a=b.getAttribute("属性")
b.属性=100
var c=b.getAttribute("属性")
不管b.属性改成多少,a和c是相等的。
建议操作方式
全局变量 fag=0;
if(fag==0)
fag=b.属性=b.getAttribute("属性");

firefox不能写function a.b()
   {}
要写成a.b=function(){}

firefox不支持src="file:///c:a.gif";

xmlHttp.setRequestHeader firefox里面一定要大写

ff的ajax,IE里面可以有很多写法,但ff里面有时就会出错,下面写一种不会出错的写法
function GetDataFromServer( url, id )
{
    if(window.XMLHttpRequest)
    { request = new XMLHttpRequest();}
    else
    if(window.ActiveXObject)
    { request = new ActiveXObject("MSXML2.XMLHTTP.5.0");}
    var serverUrl = url ;
   
    if( request )
    {
     window.status = "数据更新中...." ;
    
     request.open("get",serverUrl,true) ;
     request.setRequestHeader("content-type","application/x-www-form-

urlencoded") ;
     request.onreadystatechange = function(){onResponse(id);};
     request.send(null) ;
   
    
    }
}
   function onResponse(id)
   {
    var xmlHttp=request;
    if(xmlHttp.readyState == 4)
    {
     if(xmlHttp.status == 200)
     {           
      var result = xmlHttp.responseText ;
      if(document.getElementById("load_"+id))
      {
       逻辑;
      }
      window.status = "数据更新完成" ;
     }
    }
   }

同时支持IE和Firefox的日期控件---DatePicker

Ie和firefox的Javascript区别相关推荐

  1. 【总结】IE和Firefox的Javascript兼容性总结

    长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...

  2. asp是什么, javascript和php,asp区别,什么是 JavaScript 引擎, nodejs和vuejs的关系,nodejs和javascript区别

    asp是什么 ASP有两个含义: 一是英文Application Service Provider的缩写,意思是网络应用服务供应商: 另一个是英文Active Server Page的缩写,是微软推出 ...

  3. ★★★同时支持iexplorer和firefox的javascript复制拷贝信息到剪贴板方法

    在WEB应用中,有时候会显示一些信息提供给客户进行拷贝,客户拷贝后就能粘贴到其他需要的位置,不需要客户手动的去选择信息然后在点复制.下面就提供一段代码可以同时支持iexplorer和firefox的j ...

  4. firefox与ie 的javascript区别

    Document.form.item 问题 现有问题: 现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 firefox ...

  5. Java和JavaScript区别与联系

    Java和JavaScript有啥区别,据说还有很多人不知道,来给大家科普一下两者区别! Java 和 JavaScript 不同之处: 1.用处不一样: 它们最本质的不同就是用途:Java目前被广泛 ...

  6. 如何使用firefox适用于javascript的debugger命令

    首先安装firebug,在firefox的扩展里搜索安装即可. 然后在页面中启用firebug中的脚本: 然后在网页某些位置加入debugger命令,比如如下页面代码: <!DOCTYPE ht ...

  7. [置顶]       IE与FireFox的JavaScript兼容问题

    1.动态删除table里的某一行. table:表示table对象. k:表示行号 table.rows[k].removeNode(true); //firefox执行失败,ie执行成功 IE与Fi ...

  8. 禁掉或启用firefox 的 javascript 脚本

    老版本的firefox可以直接在"选项"页设置启用或禁用javascript 脚本 新版的Firefox中,我找了半天,没有找到,看来是没法直接设置了 于是在 地址栏键入 abou ...

  9. jscript和javascript区别

    今日在使用弹出层时发现ie,谷歌下支持弹出框,而火狐下却不支持,百思不得其解,试了很多地方都解决不了问题,最后将<script type="text/jscript"> ...

  10. IE和FireFox的Javascript的事件和事件处理总结

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 使IE和FireFox事 ...

最新文章

  1. 分布式事务,阿里为什么钟爱TCC
  2. Linux(CentOS 7_x64位)系统下安装GaussView5
  3. linux下使用rpm安装libxml2,gcc,gcc-c++等基本包
  4. mysql物理读和逻辑读,SQL Server中STATISTICS IO物理读和逻辑读的误区
  5. python相比于excel的优势_都在讨论Python能否取代Excel,那有没有人想到它
  6. updatepanel失效怎么办_【点滴积累】解决jQuery绑定事件在updatepanel更新后失效的方法...
  7. 等午饭吃过后的dwzjzx
  8. python的属性访问,python:如何访问函数的属性
  9. java网络编程_Java网络编程进阶:通过JSSE创建安全的数据通信
  10. [转载] JAVA从菜鸟【入门】到新手【实习】一一一一Python 内置函数,标准库与第三方库(拓展库),常用框架
  11. URAL - 1153 Supercomputer 大数开方
  12. ArcGIS 查看运行结果
  13. 【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC
  14. win10备份为wim_经典好用系统安装备份工具一键恢复CGI-plus v5.0.0.4 增强版
  15. css3图片倾斜3d动画效果
  16. AR涂涂乐项目之识别图制作制作地球仪剪影一
  17. 这两款好用的识别图片文字的软件app值得你们收藏
  18. 【kafka】kafka创建topic如何确定分区,如何计算kafka机器台数
  19. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
  20. 多元正态分布的后验采样

热门文章

  1. 【数字信号调制】基于matlab GUI FSK调制+解调【含Matlab源码 645期】
  2. 【语音分析】基于matlab语音线谱对转换【含Matlab源码 560期】
  3. 【路径规划】基于matlab动态多群粒子群算法局部搜索路径规划【含Matlab源码 448期】
  4. 【TWVRP】基于matlab节约算法求解带时间窗的车辆路径规划问题【含Matlab源码 156期】
  5. 技术专家(ai/大数据)_``我们淹没在数据中'':在专家和AI时代如何思考自己
  6. php 小数 精度不准,php小数精度问题
  7. 整站php_小白同学的福利:PHP常见面试题(附答案)
  8. 提交不了_志愿提交不了,不一定是系统问题。为了成功填报,建议试试这7步...
  9. pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据设置数据窗口的更新属性...
  10. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象之final、abstract抽象、和变量生命周期...