JavaScrip 的 Internet Explorer 和 Mozilla Firefox 兼容性

Back to Documentation Index

以下以 IE 代替 Internet Explorer,以 MF 代替 Mozzila Firefox

  1. document.form.item 问题
  2. 集合类对象问题
  3. window.event
  4. HTML 对象的 id 作为对象名的问题
  5. 用idName字符串取得对象的问题
  6. 变量名与某 HTML 对象 id 相同的问题
  7. event.x 与 event.y 问题
  8. 关于 frame
  9. 在 MF 中,自己定义的属性必须 getAttribute() 取得
  10. 在 MF 中没有 parentElement parement.children 而用 parentNode parentNode.childNodes
    childNodes 的下标的含义在 IE 和 MF 中不同,MF 使用 DOM 规范,childNodes中 会插入空白文本节点。
    一般可以通过 node.getElementsByTagName() 来回避这个问题。
    当 html 中节点缺失时,IE 和 MF 对 parentNode 的解释不同,例如
    <form>
    <table>
    <input/>
    </table>
    </form>
    MF 中 input.parentNode 的值为 form, 而 IE 中 input.parentNode 的值为空节点
    MF 中节点没有 removeNode 方法,必须使用如下方法 node.parentNode.removeChild(node)
  11. const 问题
  12. body 对象
    MF 的 body 在 body 标签没有被浏览器完全读入之前就存在,而 IE 则必须在 body 完全被读入之后才存在
  13. url encoding
    在 js 中如果书写 url 就直接写 & 不要写 &amp; 例如:
    var url = 'xx.jsp?objectName=xx&objectEvent=xxx';
    frm.action = url;
    那么很有可能 url 不会被正常显示以至于参数没有正确的传到服务器
    一般会服务器报错参数没有找到
    当然如果是在 tpl 中例外,因为 tpl 中符合 xml 规范,要求 & 书写为 &amp;
    一般 MF 无法识别 js 中的 &
  14. nodeName 和 tagName 问题
  15. 元素属性
    IE 下 input.type 属性为只读,但是 MF 下可以修改
  16. 获取 Event 所应用对象
  17. document.getElementsByName() 和 document.all[name] 的问题
    在 IE 中,getElementsByName()、document.all[name] 均不能用来取得 div 元素(是否还有其它不能取的元素还不知道)。
  18. parentNode 和 parentElement 问题