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; 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或其它方法

