firefox不兼容java,JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结

今天测试代码时,发现不少IE可以运行的ajax,但在FF中报错。IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结如下,需要的朋友可以看下,对于以后的代码书写一定要考虑到多浏览器的兼容性。

1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。

if (window.HTMLElement) {

HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML) {

var r=this.ownerDocument.createRange();

r.setStartBefore(this);

var df=r.createContextualFragment(sHTML);

this.parentNode.replaceChild(df,this);

return sHTML;

});

HTMLElement.prototype.__defineGetter__("outerHTML",function() {

var attr;

var attrs=this.attributes;

var str="

for (var i=0;i

attr=attrs[i];

if(attr.specified)

str+=" "+attr.name+'="'+attr.value+'"';

}

if(!this.canHaveChildren)

return str+">";

return str+">"+this.innerHTML+""+this.tagName.toLowerCase()+">";

});

HTMLElement.prototype.__defineGetter__("canHaveChildren",function() {

switch(this.tagName.toLowerCase()) {

case "area":

case "base":

case "basefont":

case "col":

case "frame":

case "hr":

case "img":

case &

你可能感兴趣的:(firefox不兼容java)