IE瀏覽器兼容Firefox的JS腳本的代碼
更新時(shí)間:2008年10月23日 15:50:47 作者:
對(duì)于經(jīng)常用js的朋友,有時(shí)候一段腳本并不是兩個(gè)瀏覽器都兼容的,下面一些對(duì)ie和firefox都兼容的一些代碼,大家可以學(xué)習(xí)下。
1.window.event兼容腳本
2.屏蔽Form提交事件
3.獲取事件源
4.添加事件兼容寫(xiě)法
5.Firefox注冊(cè)innerText寫(xiě)法
6.長(zhǎng)度
7.父控件下的子控件
8.XmlHttp
1.window.event兼容腳本
function getEvent(){ //獲取瀏覽器事件,同時(shí)兼容ie和ff的寫(xiě)法
if(document.all) return window.event;
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==Event arg0.constructor ==MouseEvent)
(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
return arg0;
}
}
func=func.caller;
}
return null;
}
每次用事件之前Firefox都需要用getEvent()獲取一下,否則就是空
2.屏蔽Form提交事件
event.returnValue=false;// for IE
evt.preventDefault();//for firefox
3.獲取事件源
var source=event.srcElement //IE
var source=event.target //firefox
4.添加事件兼容寫(xiě)法
function addEvent(oElement,sEvent,func){
if (oElement.attachEvent){
oElement.attachEvent(sEvent,func);
}
else{
sEvent=sEvent.substring(2,sEvent.length);
oElement.addEventListener(sEvent,func,false);
}
}
用法:addEvent(window,"onload",Start);
5.Firefox注冊(cè)innerText寫(xiě)法
//注冊(cè)firefox innerText
HTMLElement.prototype.__defineGetter__("innerText",
function(){
var anyString = "";
var childS = this.childNodes;
for(var i=0; i if(childS[i].nodeType==1)
anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;
else if(childS[i].nodeType==3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);
6.長(zhǎng)度:FireFox長(zhǎng)度必須加“px”,IE無(wú)所謂
7.父控件下的子控件:IE是“children”,F(xiàn)ireFox是“childNodes”
8.XmlHttp
在IE中,XmlHttp.send(content)方法的content可以為空,而firefox則不能為空,應(yīng)該用send(" "),否則會(huì)出現(xiàn)411錯(cuò)誤
2.屏蔽Form提交事件
3.獲取事件源
4.添加事件兼容寫(xiě)法
5.Firefox注冊(cè)innerText寫(xiě)法
6.長(zhǎng)度
7.父控件下的子控件
8.XmlHttp
1.window.event兼容腳本
function getEvent(){ //獲取瀏覽器事件,同時(shí)兼容ie和ff的寫(xiě)法
if(document.all) return window.event;
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==Event arg0.constructor ==MouseEvent)
(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
return arg0;
}
}
func=func.caller;
}
return null;
}
每次用事件之前Firefox都需要用getEvent()獲取一下,否則就是空
2.屏蔽Form提交事件
event.returnValue=false;// for IE
evt.preventDefault();//for firefox
3.獲取事件源
var source=event.srcElement //IE
var source=event.target //firefox
4.添加事件兼容寫(xiě)法
function addEvent(oElement,sEvent,func){
if (oElement.attachEvent){
oElement.attachEvent(sEvent,func);
}
else{
sEvent=sEvent.substring(2,sEvent.length);
oElement.addEventListener(sEvent,func,false);
}
}
用法:addEvent(window,"onload",Start);
5.Firefox注冊(cè)innerText寫(xiě)法
//注冊(cè)firefox innerText
HTMLElement.prototype.__defineGetter__("innerText",
function(){
var anyString = "";
var childS = this.childNodes;
for(var i=0; i if(childS[i].nodeType==1)
anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;
else if(childS[i].nodeType==3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);
6.長(zhǎng)度:FireFox長(zhǎng)度必須加“px”,IE無(wú)所謂
7.父控件下的子控件:IE是“children”,F(xiàn)ireFox是“childNodes”
8.XmlHttp
在IE中,XmlHttp.send(content)方法的content可以為空,而firefox則不能為空,應(yīng)該用send(" "),否則會(huì)出現(xiàn)411錯(cuò)誤
相關(guān)文章
JavaScript中常見(jiàn)的Polyfill介紹
在多姿多彩的JavaScript世界,Polyfill如同一座架在瀏覽器兼容性鴻溝之上的橋梁,本文將介紹常見(jiàn)的JavaScript Polyfill兼容方案,并舉例說(shuō)明它們的應(yīng)用,需要的可以參考下2023-12-12一種Javascript解釋ajax返回的json的好方法(推薦)
下面小編就為大家?guī)?lái)一篇一種Javascript解釋ajax返回的json的好方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06基于canvas實(shí)現(xiàn)超炫酷的流水燈效果
這篇文章主要為大家詳細(xì)介紹了基于canvas實(shí)現(xiàn)超炫酷的流水燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05JavaScript學(xué)習(xí)筆記整理之引用類型
引用類型是JavaScript中很重要的內(nèi)容,通過(guò)本文給大家介紹JavaScript學(xué)習(xí)筆記整理之引用類型,對(duì)js引用類型相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01解決微信小程序防止無(wú)法回到主頁(yè)的問(wèn)題
這篇文章主要介紹了解決微信小程序防止無(wú)法回到主頁(yè)的問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09JavaScript實(shí)現(xiàn)答題評(píng)分功能頁(yè)面
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)答題評(píng)分功能頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06