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+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
Extjs学习笔记之八 继承和事件基础
Jan 08 Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
Jun 19 Javascript
jQuery的图片滑块焦点图插件整理推荐
Dec 07 Javascript
用JavaScript实现对话框的教程
Jun 04 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
从组件封装看Vue的作用域插槽的实现
Feb 12 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
js+springMVC 提交数组数据到后台的实例
Sep 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
js常用代码段收集
2011/10/28 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python六大开源框架对比
2015/10/19 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
Python识别html主要文本框过程解析
2020/02/18 Python
django修改models重建数据库的操作
2020/03/31 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
大学生个人先进事迹材料范文
2014/05/03 职场文书
初中新生军训方案
2014/05/13 职场文书
合作协议书模板2014
2014/09/26 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL
java代码实现空间切割
2022/01/18 Java/Android
MySQL自定义函数及触发器
2022/08/05 MySQL