ajax:
new XMLHttpRequest(); //IE7+
new ActiveXObject("Microsoft.XMLHTTP");
function creatajax(){
var ajax=null;
if (window.XMLHttpRequest){
//对于Mozilla、Netscape、Safari等浏览器,创建XMLHttpRequest对象
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType){
//如果服务器响应的header不是text/xml,可以调用其它方法修改该header
ajax.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject){
// 对于Internet Explorer浏览器,创建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,然后在同样的位置再插入一个新的input元素。
window.event问题
问题说明:
window.event 只能在IE下运行,
而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用。
解决方法:
在事件发生的函数上加上event参数,在函数体内(假设形参为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问题
作用:获得触发事件的元素
问题说明:
IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。
访问的父元素的区别
问题说明:
在IE下,使用 obj.parentElement 或 obj.parentNode 访问obj的父结点;在firefox下,使用 obj.parentNode 访问obj的父结点。
解决方法:
因为firefox与IE都支持DOM,因此统一使用obj.parentNode 来访问obj的父结点。
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 的语句无效。
解决方法:
统一使用
obj.style.height = imgObj.height + ‘px';
setAttribute('style','color:red;')
除了IE,现在所有浏览器都支持
解决办法:
用object.style.cssText = ‘color:red;'
类名设置
问题说明:
setAttribute('class','styleClass')
IE不支持(指定属性名为class,IE不会设置元素的class属性,相反IE用setAttribute时识别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 中的圆角属性。
网友评论