zoukankan      html  css  js  c++  java
  • Ie与Firefox差异(JavaScript)

    1. 当一个对象为不可见时,在IE中是不可以设置它集中焦点的,但是在Firefox里可以
    2. 向表(Table)追加行:
    在FF、Safari、Opera等浏览器中,用document.createElement创建行后用document.appendChild将行直接添加到表上。但是在IE里不可以,而且没有任何错误提示,这时候,需要为表添加表体(tbody),然后将新创建的行添加到表体(tbody),
    3. childNodes的不同:Firefox把回车后的空白当作文本节点,而ie不是
    4. innerText是IE专有的方法,textContent是Firefox专有的,innerHTML则两者都兼容
    5. 设置某个node对象的style class名称。
    ie中要设置某个node的class用”className”作为attr来set或者get。
    ff等其它的浏览器用”class”作为attr来set或者get。
    6. 事件对象。ie用eventff用evnt
    7. 事件作用对象。ie用objEvent.srcElement,ff用objEvent.target
    8,document.form.item 问题。
    ie中用document.formName.item("itemName")
    ff中改用 document.formName.elements["elementName"]
    9。集合类对象取用时使用 (),IE 能接受,MF 不能。解决方法:改用 [] 作为下标运算
    10,window.event 无法在 fF 上运行
    11,HTML 对象的 id 作为对象名的问题
    现有问题:在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 fF 中不能。
    解决方法:用 getElementById("idName") 代替 idName 作为对象变量使用
    11,变量名与某 HTML 对象 id 相同的问题
    现有问题: fF中,对象 id 不作为 HTML 对象的名称,所以可使用与 HTML 对象 id 相同的变量名,IE 中不能
    解决方法:在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误
    12,event.x 与 event.y 问题
    现有问题:在IE 中,event 对象有 x, y 属性,fF中没有。
    解决方法:
    在fF中,与event.x 等效的是 event.pageX。但event.pageX IE中没有。
    故采用 event.clientX 代替 event.x。在IE 中也有这个变量。
    event.clientX 与 event.pageX 有微妙的差别(当整个页面有滚动条的时候),不过大多数时候是等效的。
    如果要完全一样,可以稍麻烦些:mX = event.x ? event.x : event.pageX;然后用 mX 代替 event.x
    13,父结点的问题
    在ff中没有 parentElement parement.children 而用 parentNode parentNode.childNodes。childNodes的下标的含义在IE和fF中不同,fF使用DOM规范,childNodes中会插入空白文本节点。一般可以通过node.getElementsByTagName()来回避这个问题。
    14,const 问题
    现有问题:在 IE 中不能使用 const 关键字。如 const constVar = 32; 在IE中这是语法错误。
    解决方法:不使用 const ,以 var 代替。
    15,body 对象
    fF的body在body标签没有被浏览器完全读入之前就存在,而IE则必须在body完全被读入之后才存在
    16,nodeName 和 tagName 问题
    现有问题:在ff中,所有节点均有 nodeName 值,但 textNode 没有 tagName 值。在 IE 中,nodeName 的使用好象有问题。
    解决方法:使用 tagName,但应检测其是否为空
    17,元素属性
    IE下 input.type属性为只读,但是ff下可以修改
    18,document.getElementsByName() 和 document.all[name] 的问题
    现有问题:在 IE 中,getElementsByName()、document.all[name] 均不能用来取得 div 元素(是否还有其它不能取的元素还不知道)。
    19,对空格符的处理。按照HTML的标准,空格字符是 。在ff中,如果你误写成&nbsp(少了一个分号)一定 不会被FireFox认为是空格,FireFox会认为它是&nbsp。而在IE中,如果你误写成&nbsp(少了一个分号)IE智 能地认为它是空格。
    20,对注释的处理。
    按照HTML的标准,注释的操作是放在<!--和-->之间的,而且注释中不能有--,否则会产生 HTML解析错误.

  • 相关阅读:
    Microsoft Updateclient更新
    DataTables warning: table id=dataTable
    BCB使用线程删除目录中的图片
    grep常见使用方法总结
    实战:percona-xtrabackup 2.1.9 for mysql 5.6.19
    代理模式之cglib动态代理
    hello world to php( mac 配置 xmapp virtual host)
    Android开发之AlarmManager具体解释
    linux入门教程(六) Linux文件与目录管理
    linux入门教程(五) Linux系统的远程登录
  • 原文地址:https://www.cnblogs.com/mingle/p/1557127.html
Copyright © 2011-2022 走看看