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 文件本身编码转换 图文教程
Oct 12 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
jquery对象和javascript对象即DOM对象相互转换
Aug 07 Javascript
jQuery和AngularJS的区别浅析
Jan 29 Javascript
AngularJS仿苹果滑屏删除控件
Jan 18 Javascript
AngularJS动态绑定HTML的方法分析
Nov 07 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
vue-music关于Player播放器组件详解
Nov 28 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 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
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
js 目录列举函数
2008/11/06 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python数据集切分实例
2018/12/08 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Python实现自动签到脚本功能
2020/08/20 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
机电一体化毕业生求职信
2013/11/02 职场文书
教代会闭幕词
2015/01/28 职场文书
公司租车协议书
2015/01/29 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python