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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
jquery 获取json数据实现代码
Apr 27 Javascript
javascript学习笔记(四)function函数部分
Sep 30 Javascript
jQuery实现鼠标滑过点击事件音效试听
Aug 31 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
详解JavaScript常量定义
Jan 03 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
前端面试知识点目录一览
Apr 15 Javascript
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
图片自动缩小 点击放大
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+mysql大量用户登录解决方案分析
2014/12/29 PHP
微信支付的开发流程详解
2016/09/13 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
解析js如何获取css样式
2016/12/11 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python 的AES加密与解密实现
2019/07/09 Python
Python3进制之间的转换代码实例
2019/08/24 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
医院总经理岗位职责
2014/02/04 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
代办委托书怎么写
2014/08/01 职场文书
幼师小班个人总结
2015/02/12 职场文书