Javascript 兼容firefox的一些问题
更新时间:2009年05月21日 19:01:24 作者:
上午在做一些测试.把页面拿到火狐上去就出现一堆问题.页面布局先不说.Javascript代码的问题就够头疼
比如:
1. document.all() 在FF里不行. 必须改成document.getElementById();
2. obj.innerText = "XXX"; 在FF里好像偶尔也有问题. 换成obj.innerHTML = "XXX";就行了.
3. var olE = document.body.onload; 获得body的onload函数. IE没问题.FF不行.改成window.onload.解决.
至于window.onload和body.onload有什么区别.. 还有待百度一下.
4. 在IE中.event对象有x,y属性. FF没有. event.x在FF里应该是event.pageX
解决办法. mX = event.x ? event.x : event.pageX; 然后用 mX 代替 event.x.
5. 最可恨的是Ajax在FF里不能同步调用!!!
比如 xmlHttp.open("get","xxx.aspx?id=xx",true); //true表示异步
在IE和FF里都没问题。 但是 xmlHttp.open("get","xxx.aspx?id=xx",false); 在IE没问题.在FF里就不行!!
这个问题还没找到解决办法.
6. 要吃饭了.未完待续..
-----------
第5个解决了.
同步调用的时候这样写.
xmlHttp.open("get","xxx.aspx?id=xx",false);
xmlhttp.send(null);
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
// alert(xmlhttp.responseText);
} else {
alert("您所请求的页面有异常。");
}
}
1. document.all() 在FF里不行. 必须改成document.getElementById();
2. obj.innerText = "XXX"; 在FF里好像偶尔也有问题. 换成obj.innerHTML = "XXX";就行了.
3. var olE = document.body.onload; 获得body的onload函数. IE没问题.FF不行.改成window.onload.解决.
至于window.onload和body.onload有什么区别.. 还有待百度一下.
4. 在IE中.event对象有x,y属性. FF没有. event.x在FF里应该是event.pageX
解决办法. mX = event.x ? event.x : event.pageX; 然后用 mX 代替 event.x.
5. 最可恨的是Ajax在FF里不能同步调用!!!
比如 xmlHttp.open("get","xxx.aspx?id=xx",true); //true表示异步
在IE和FF里都没问题。 但是 xmlHttp.open("get","xxx.aspx?id=xx",false); 在IE没问题.在FF里就不行!!
这个问题还没找到解决办法.
6. 要吃饭了.未完待续..
-----------
第5个解决了.
同步调用的时候这样写.
复制代码 代码如下:
xmlHttp.open("get","xxx.aspx?id=xx",false);
xmlhttp.send(null);
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
// alert(xmlhttp.responseText);
} else {
alert("您所请求的页面有异常。");
}
}
相关文章
关于javascript event flow 的一个bug详解
描述了firefox,safari 有一个bug和DOM 3 规范不一致:在event.currentTarget等于event.target的时候(即event flow处于target phase时),会调用添加到currentTarget上的useCapture为true的listener2013-09-09
最新评论