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 相关文章推荐
js URL参数的拼接方法比较
Feb 15 Javascript
Jquery post传递数组方法实现思路及代码
Apr 28 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
May 27 Javascript
js实现简单选项卡与自动切换效果的方法
Apr 10 Javascript
javascript事件委托的方式绑定详解
Jun 10 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 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
咖啡的种类和口感
2021/03/03 新手入门
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
python创建和使用字典实例详解
2013/11/01 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
电气专业推荐信范文
2013/11/18 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
高中语文课后反思
2014/04/27 职场文书
优秀毕业生求职信
2014/06/05 职场文书
应用外语系自荐信
2014/06/26 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP