ajax:
new XMLHttpRequest(); //IE7+
new ActiveXObject("Microsoft.XMLHTTP");
function creatajax(){
var ajax=null;
if (window.XMLHttpRequest){
//對于Mozilla、Netscape、Safari等瀏覽器世剖,創(chuàng)建XMLHttpRequest對象
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType){
//如果服務(wù)器響應(yīng)的header不是text/xml煌集,可以調(diào)用其它方法修改該header
ajax.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject){
// 對于Internet Explorer瀏覽器叁扫,創(chuàng)建XMLHttpRequest
try{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
try{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){}
}
}
return ajax;
}
input.type屬性問題
問題說明:
IE下 input.type 屬性為只讀地来;
但是Firefox下 input.type 屬性為讀寫乘寒。
解決辦法:
可以先隱藏原來的input的诵,然后在同樣的位置再插入一個(gè)新的input元素万栅。
window.event問題
問題說明:
window.event 只能在IE下運(yùn)行,
而不能在Firefox下運(yùn)行西疤,這是因?yàn)镕irefox的event只能在事件發(fā)生的現(xiàn)場使用烦粒。
解決方法:
在事件發(fā)生的函數(shù)上加上event參數(shù),在函數(shù)體內(nèi)(假設(shè)形參為evt)代赁,使用:
event = evt?evt:(window.event?window.event:null)
event.x與event.y問題
問題說明:
IE下扰她,even對象有x、y屬性芭碍,但是沒有pageX徒役、pageY屬性;
Firefox下豁跑,even對象有pageX廉涕、pageY屬性泻云,但是沒有x、y屬性狐蜕。
解決方法:
var myX = event.x ? event.x : event.pageX;
var myY = event.y ? event.y:event.pageY;
event.srcElement問題
作用:獲得觸發(fā)事件的元素
問題說明:
IE下宠纯,even對象有srcElement屬性,但是沒有target屬性层释;Firefox下婆瓜,even對象有target屬性,但是沒有srcElement屬性贡羔。
訪問的父元素的區(qū)別
問題說明:
在IE下廉白,使用 obj.parentElement 或 obj.parentNode 訪問obj的父結(jié)點(diǎn);在firefox下乖寒,使用 obj.parentNode 訪問obj的父結(jié)點(diǎn)猴蹂。
解決方法:
因?yàn)閒irefox與IE都支持DOM,因此統(tǒng)一使用obj.parentNode 來訪問obj的父結(jié)點(diǎn)楣嘁。
innerText的問題.
問題說明:
innerText在IE中能正常工作磅轻,
但是innerText在FireFox中卻不行。
解決方法:
在非IE瀏覽器中使用textContent代替innerText逐虚。
示例:
if(navigator.appName.indexOf("Explorer") >-1){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = ";my text";
}
對象寬高賦值問題
問題說明:
FireFox中類似 obj.style.height = imgObj.height 的語句無效聋溜。
解決方法:
統(tǒng)一使用
obj.style.height = imgObj.height + ‘px';
setAttribute('style','color:red;')
除了IE,現(xiàn)在所有瀏覽器都支持
解決辦法:
用object.style.cssText = ‘color:red;'
類名設(shè)置
問題說明:
setAttribute('class','styleClass')
IE不支持(指定屬性名為class叭爱,IE不會(huì)設(shè)置元素的class屬性撮躁,相反IE用setAttribute時(shí)識(shí)別className屬性)
解決辦法:
setAttribute('class','styleClass')
setAttribute('className','styleClass')
或者直接
object.className='styleClass'; ```
IE和FF都支持object.className。
####建立單選鈕 :
>IE以外的瀏覽器
var rdo = document.createElement('input');
rdo.setAttribute('type','radio');
rdo.setAttribute('name','radiobtn');
rdo.setAttribute('value','checked');
IE:
document.createElement(”<input name=”radiobtn” type=”radio” value=”checked” />”); ```
圓角:
ie8及以下 不支持 CSS3 中的圓角屬性买雾。