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


Posted in Javascript onJuly 07, 2008

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错误

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - NumberBox数字框
Oct 13 Javascript
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
JavaScript声明变量时为什么要加var关键字
Sep 29 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
JavaScript浏览器对象之一Window对象详解
Jun 03 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 Javascript
Ionic 2 实现列表滑动删除按钮的方法
Jan 22 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
图片自动缩小 点击放大
Jul 07 #Javascript
超级退弹代码
Jul 07 #Javascript
Javascript入门学习资料收集整理篇
Jul 06 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
用JS剩余字数计算的代码
Jul 03 #Javascript
javascript indexOf函数使用说明
Jul 03 #Javascript
You might like
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
详解vue-validator(vue验证器)
2017/01/16 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
Python面向对象进阶学习
2019/05/21 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
Python排序函数的使用方法详解
2020/12/11 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
学年自我鉴定范文
2013/10/01 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
合同协议书格式
2014/04/18 职场文书
公司租房协议书
2014/10/14 职场文书
社会实践活动总结
2015/02/05 职场文书
三八妇女节慰问信
2015/02/14 职场文书
回复函范文
2015/07/14 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
Golang连接并操作MySQL
2022/04/14 MySQL