当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript 兼容firefox的一些问题

Javascript
AJAX教程(14):通过XMLHTTP加载XML文件
AJAX教程(15):通过XMLHTTP进行一次HEAD请求
AJAX教程(16):通过XMLHTTP进行一次指定的HEAD请求
AJAX教程(17):把XML文件显示为HTML表格
JS通过WMI获取客户端硬件信息
JavaScript中使用远程脚本
关于Ajax技术的注意事项
XMLHttpRequest创建智能表单
iframe创建智能表单
JS教程:线小测试程序
在Web页面中使用计时器
将事件处理器作为HTML标记的属性
事件处理器作为浏览器对象的属性
Math对象应用详解
random()方法和pow()方法
charAt()方法和charCodeAt()方法
Number对象常用的toFixed()方法
JS教程:为什么尽量用局部变量代替全局变量
解决JavaScript循环中的过多操作
处理提示“脚本运行时间过长的提示框”问题

Javascript 兼容firefox的一些问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 469 ::
收藏到网摘: n/a

上午在做一些测试.把页面拿到火狐上去就出现一堆问题.页面布局先不说.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("您所请求的页面有异常。");
}
}