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

Javascript
扩展String功能方法
如何实现JS函数的重载
兼容低版本IE的JScript5.5实现
prototype.js的Ajax对象
Valerio 发布了 Mootools
理解JavaScript中的事件
Popup对象实现右键菜单
HTML DOM Viewer
页面内查找
浅谈JavaScript中面向对象技术的模拟
初学prototype,发个JS接受URL参数的代码
关于Blog顶部的滚动导航条代码
静态页面的值传递(三部曲)
[原创]防止网站内容被小偷采集的js代码
在线游戏大家来找茬II
图片预载入
滚动经典最新话题[prototype框架]下编写
一个对于Array的简单扩展
Array对象方法参考
为数据添加append,remove功能

Javascript 兼容firefox的一些问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 333 ::
收藏到网摘: 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("您所请求的页面有异常。");
}
}