IE Mozilla 说明
document.all(id) document.getElementById(id)
document.all document.getElementsByTagName("*")
document.body.clientHeight(clientWidth)根据HTML的DTD而定方能得到准确值。 window.innerHeight(innerWidth)根据HTML的DTD而定方能得到准确值。
opacity(aplha=20) MozOpacity="0.2" 可参看我的blog这篇文章
event.clientY(clientX) event.pageY(pageX)
event.keyCode event.which
event.srcElement event.target
window.external.AddFavorite('never-online.net', "never-online'website"); window.sidebar.addPanel('never-online.net', "never-online'website", ""); 此为添加到收藏夹代码,要兼容更多的浏览器,请看这里的代码
event.clientY(clientX) event.pageY(pageX)
(DHTML事件-滚轮事件)onmousewheel DOMMouseScroll 可参看我的blog这篇文章
window.showModalDialog window.open(url, "name", "modal=yes")
createPopup() xul
htc控件 xbl绑定
filter滤镜 只支持alpha(透明度,部分可通过clip来模拟)
obj.setCapture() window.captureEvents(Event.eventType)
obj.attachEvent(type, listener) obj.addEventListener(type, listener, useCapture) 添加事件的方法,如果要兼容,有几种方法,如用Mozilla的读写器来模拟IE的方法,或者用一个全局函数addEvent(type, listener, useCapture)来统一事件处理,或者写一个Event Manager更好一些,也可以在这里统一避免内存泄露
obj.detachEvent(type, listener) obj.removeEventListener(type, listener, useCapture) 一般情况下,用了attachEvent(addEventListener)方法,最好在beforeunload事件里用detach方法释放掉,这是个好习惯(偷懒的话就不说了:D)
脚本预解释执行

o={ 
  foo: function(){ 
    alert("never-online"); 
  } 
}; 
with (o) {
  bar();
  function bar(){ 
    alert("never-online");
  } 
  foo(); 
}

上面的代码成功输出never-online

脚本顺序执行。
o={ 
  foo: function(){ 
    alert("never-online"); 
  } 
}; 
with (o) {
  bar();
  function bar(){ 
    alert("never-online");
  } 
  foo(); 
}

报错bar未定义
解决方法有很多种,请参见我这里的评论或者这篇文章
支持Webdings字体 不支持Webdings字体
insertAdjacentHTML, insertAdjacentElement方法 本身不支持,但可通过insertBefore或通过Range实现 可参见我这篇文章的代码
不支持 读写器__defineSetter(Getter)__ 读写器是这个非常有用的功能,比如把一些常用的功能更简化,以及模拟IE的方法等等。
不支持 支持对Element,EVENT等对象的prototype模式支持
不支持 对节点有nodeType常量属性
new ActiveXObject("MSXML2.XMLHTTP")或更高版本的ProgId XMLHttpRequest对象
设置类似style.top=20这样的高度时,可不使用单位 设置类似style.top=20+'px'这样的高度时,必须使用单位,否则无效
CSS的类名,不区分大小写(大小写不敏感) CSS的类名,区分大小写(大小写敏感)如:.myCss和.mycss类名就是不相同的
冒泡事件event.cancelBubble=true event.stopPropagation()(需要传递event事件)
parentElement 默认不支持,但可以利用Mozilla特性模拟

HTMLElement.prototype.__defineGetter__("parentElement", 
function () {
if (this.parentNode == this.ownerDocument) return null;
return this.parentNode;
});

节点常数并没有Mozilla那么标准,但也有空白节点等常数,删除空白节点方面与Mozilla相同 因为Mozilla下NodeType下定义有12种节点属性,所以要去除空白的节点方能得到预期值

  var notspace = /\S/;
  function cleanWhitespace(node) {
    for (var x=0; x<node.childNodes.length; x++) {
      var child = node.childNodes[x];
      if ((child.nodeType == 3) && (!notspace.test(child.nodeValue))) {
        node.removeChild(node.childNodes[x]); x--;
      }; if(child.nodeType == 1) { cleanWhitespace(child); }
    }
  }

CSS padding宽度并不在offset偏移坐标之内 CSS padding宽度默认是在offset偏移坐标之内,可用-moz-box-sizing:border-box来设置即可基本与IE相同 可参见我这篇文章的代码
js动态加载xslt文件将xml转化成HTML,IE可用xmldoc.transformNode(xslDocument)方法 Mozilla中相对麻烦一些,要经过几道工序XSLTProcessor对象,transformToFragment或其它方法 可参见我这篇文章的示例教程和代码
支持客户端存储数据-userData 不支持 userData存储限制
Security Zone Document Limit (KB) Domain Limit (KB)
Local Machine 128 1024
Intranet 512 10240
Trusted Sites 128 1024
Internet 128 1024
Restricted 64 640

Power By never-online, BlueDestiny, http://www.never-online.net