欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

Firefox和IE浏览器兼容JS脚本写法小结

时间:2020-11-18 00:42:39|栏目:JavaScript代码|点击:


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); 

5.Firefox注册innerText写法 

//注册firefox innerText 
HTMLElement.prototype.__defineGetter__("innerText", 
function(){ 
var anyString = ""; 
var childS = this.childNodes; 
for(var i=0; i if(childS[i].nodeType==1) 
anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText; 
else if(childS[i].nodeType==3) 
anyString += childS[i].nodeValue; 

return anyString; 

); 
HTMLElement.prototype.__defineSetter__("innerText", 
function(sText){ 
this.textContent=sText; 

); 

6.长度:FireFox长度必须加“px”,IE无所谓 

7.父控件下的子控件:IE是“children”,FireFox是“childNodes” 

8.XmlHttp 

在IE中,XmlHttp.send(content)方法的content可以为空,而firefox则不能为空,应该用send(" "),否则会出现411错误

上一篇:js字符串引用的两种方式(必看)

栏    目:JavaScript代码

下一篇:微信小程序自定义组件实现环形进度条

本文标题:Firefox和IE浏览器兼容JS脚本写法小结

本文地址:http://www.codeinn.net/misctech/23777.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有