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获取radio值(单选组radio)
Oct 16 Javascript
Bootstrap CDN和本地化环境搭建
Oct 26 Javascript
JavaScript制作简易计算器(不用eval)
Feb 05 Javascript
node.js-v6新版安装具体步骤(分享)
Sep 06 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
详解微信小程序的不同函数调用的几种方法
May 08 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
May 16 Javascript
vue设置动态请求地址的例子
Nov 01 Javascript
JS实现纸牌发牌动画
Jan 19 Javascript
JavaScript WeakMap使用详解
Feb 05 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开发GUI
2006/10/09 PHP
php中看实例学正则表达式
2006/12/25 PHP
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
python 提取文件的小程序
2009/07/29 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
基于树莓派的语音对话机器人
2019/06/17 Python
Python基于内置函数type创建新类型
2020/10/22 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
经典c++面试题二
2015/08/14 面试题
《石榴》教学反思
2014/03/02 职场文书
疾病捐款倡议书
2014/05/13 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
教师节寄语2015
2015/03/23 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
葬礼主持词
2015/07/02 职场文书
大学新生入学感想
2015/08/07 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Python基础之条件语句详解
2021/06/16 Python
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫