IE浏览器兼容Firefox的JS脚本的代码


Posted in Javascript onOctober 23, 2008

1.window.event兼容脚本
2.屏蔽Form提交事件
3.获取事件源
4.添加事件兼容写法
5.Firefox注册innerText写法
6.长度
7.父控件下的子控件
8.XmlHttp
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 相关文章推荐
由JavaScript技术实现的web小游戏(不含网游)
Jun 12 Javascript
apycom出品的jQuery精美菜单破解方法
Feb 18 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
js 判断计算字符串长度/判断空的简单方法
Aug 05 Javascript
JavaScript中的原型prototype完全解析
May 10 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
Node接收电子邮件的实例代码
Jul 21 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
Oct 17 Javascript
JavaScript计算出两个数的差值
Mar 19 Javascript
Vue+axios封装请求实现前后端分离
Oct 23 Javascript
antd design table更改某行数据的样式操作
Oct 31 Javascript
jQuery实现简单弹幕制作
Dec 10 jQuery
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 #Javascript
checkbox 多选框 联动实现代码
Oct 22 #Javascript
javascript网页关闭时提醒效果脚本
Oct 22 #Javascript
javascript Select标记中options操作方法集合
Oct 22 #Javascript
JavaScript Undefined,Null类型和NaN值区别
Oct 22 #Javascript
javascript TextArea动态显示剩余字符
Oct 22 #Javascript
Javascript this关键字使用分析
Oct 21 #Javascript
You might like
PHP6 先修班 JSON实例代码
2008/08/23 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
php随机抽奖实例分析
2015/03/04 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
Vue的Options用法说明
2020/08/14 Javascript
Python常用内置函数总结
2015/02/08 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
python 字符串常用函数详解
2019/09/11 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
Shell如何接收变量输入
2012/09/24 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
文体活动总结范文
2014/05/05 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
2016寒假假期总结
2015/10/10 职场文书
争做文明公民倡议书
2019/06/24 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
python常见的占位符总结及用法
2021/07/02 Python
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python