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 使用手册(三)
Sep 23 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
jquery给图片添加鼠标经过时的边框效果
Nov 12 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 Javascript
基于layui的下拉列表的数据回显方法
Sep 24 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php操作mongoDB实例分析
2014/12/29 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
js chrome浏览器判断代码
2010/03/28 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Python编程实现正则删除命令功能
2017/08/30 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
2014年端午节活动方案
2014/03/11 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
农业项目合作意向书
2015/05/08 职场文书
详解SQL报错盲注
2022/07/23 SQL Server
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python