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) |
无 |
obj.detachEvent(type, listener) |
obj.removeEventListener(type, listener, useCapture) |
无 |
脚本预解释执行 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)__ |
无 |
不支持 |
支持对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下NodeType下定义有12种节点属性,所以要去除空白的节点方能得到预期值 var notspace = /\S/; function cleanWhitespace(node) { for (var x=0; xvar 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或其它方法 |