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 相关文章推荐
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
P3P Header解决Cookie跨域的问题
Mar 12 Javascript
js结合正则实现国内手机号段校验
Jun 19 Javascript
基于jquery实现轮播特效
Apr 22 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
Jul 26 Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
vue前后分离调起微信支付
Jul 29 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 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自定义函数返回多个值
2006/11/26 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
学习YUI.Ext第五日--做拖放Darg&Drop
2007/03/10 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
js实现自定义路由
2017/02/04 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python 排列组合之itertools
2013/03/20 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
用Python写冒泡排序代码
2016/04/12 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python线性方程组求解运算示例
2018/01/17 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
更新修改后的Python模块方法
2019/03/03 Python
python安装requests库的实例代码
2019/06/25 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
本科生求职简历的自我评价
2013/10/21 职场文书
网络技术专业推荐信
2014/02/20 职场文书
网聊搭讪开场白
2015/05/28 职场文书
毕业赠语大全
2015/06/23 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
Python3.10的一些新特性原理分析
2021/09/15 Python