网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [转贴] Firefox浏览器兼容Javascript脚本的方法
阿妙
TW版主
Rank: 7Rank: 7Rank: 7


UID 86099
精华 26
积分 11803
帖子 7220
阅读权限 100
注册 2006-11-2
状态 离线
发表于 2008-8-26 02:25 资料 短消息 加为好友 QQ
Firefox浏览器兼容Javascript脚本的方法

遇到了FireFox和IE脚本不兼容的问题 1.window.event兼容脚本
function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法 if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0]; if(arg0){ if((arg0.constructor==Event    arg0.constructor ==MouseEvent)    (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ return arg0; } } func=func.caller; } return null; }
每次用事件之前Firefox都需要用getEvent()获取一下,否则就是空 2.屏蔽Form提交事件
event.returnValue=false;// for IE evt.preventDefault();//for firefox
3.获取事件源
var source=event.srcElement //IE var source=event.target //firefox
4.添加事件兼容写法
function addEvent(oElement,sEvent,func){ if (oElement.attachEvent){ oElement.attachEvent(sEvent,func); } else{ sEvent=sEvent.substring(2,sEvent.length); oElement.addEventListener(sEvent,func,false); } }
用法:addEvent(window,"onload",Start);





人生若只如初见,何事秋风悲画扇? 等闲变却故人心,却道故人心易变。
引用 回复 顶部
阿妙
TW版主
Rank: 7Rank: 7Rank: 7


UID 86099
精华 26
积分 11803
帖子 7220
阅读权限 100
注册 2006-11-2
状态 离线
发表于 2008-8-26 02:26 资料 短消息 加为好友 QQ
5.Firefox注册innerText写法
2w1_.d&O L7`)b$[程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛$J-|'R&g'X [2G
$]0`;j!X5a H0{&U

(?"u7K7x-n4u&e7~//注册firefox innerText 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛9V"P*`4V9D
HTMLElement.prototype.__defineGetter__("innerText", /w#B7a-f;g1b-i5N:e2O'S
function(){ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛,H3a0y5V'Q
var anyString = "";
#p9Q4}0u!j!F"D+Xvar childS = this.childNodes; TechWeb-技术社区 d'v$d7Q-P6w(W4d
for(var i=0; i if(childS.nodeType==1)
"}${.Z$X)d-Z/S!htech.techweb.com.cnanyString += childS.tagName=="BR" ? '\n' : childS.innerText; 2N"H"}&?6s'C5I,Q(f5g.N
else if(childS.nodeType==3)
,P!w0G \7P3canyString += childS.nodeValue;
-~2B/{%P7m2T程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛}
+Y'N,m*[8v$c6L-[return anyString; +?)U+X:|,~#G)n
}
8k&^1^&A6B);
)A)y4b&}.['};g5BHTMLElement.prototype.__defineSetter__("innerText",
1M&@0}7T#q)@ Ffunction(sText){
@:L7f(u6p)y0m5Y$o2uTechWeb-技术社区this.textContent=sText; :Y u1R+u(N3Z
}
&a,p,p,O;t#o;a);
.k9^;q+|'\)}tech.techweb.com.cn 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛'u)m!b4~$d'\1?7B#c)f

1h+b o:@5w,Q,r:r
'D3D.A-X:Y"[4u7WTechWeb-技术社区6.长度:FireFox长度必须加“px”,IE无所谓
5I"[,U)E6U*b6z%X程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛4?6@2b;S b0w#t;n9_
*J0f#a#r4q+`
7.父控件下的子控件:IE是“children”,FireFox是“childNodes” 1Y4I1l,t6u0K5Y#u
9r;],H'l3E2x/d+H f

9X+I(?'q/L4|.s8.XmlHttp
,t9_/k r:d8~,a)B1\/H5B%G)P1_+q(}7|8U%[

"?4L)O ]7h,U9B(Q(Jtech.techweb.com.cn在IE中,XmlHttp.send(content)方法的content可以为空,而firefox则不能为空,应该用send(" "),否则会出现411错误。





人生若只如初见,何事秋风悲画扇? 等闲变却故人心,却道故人心易变。
引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 07:37
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.046581 second(s), 8 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP