JavaScript常用的兼容

开始之前谈谈主流浏览器的内核,浏览器内核主要有四种Trident、webkit、blink、Gecko

浏览器内核
chromewebkit内核现在是blink内核
IE浏览器Trident内核
SafariWebkit内核
Opera最初是自己的presto,后来加入谷歌大军,从weblit到blink
firefoxGecko内核俗称firefox内核
360IE+chromoe双内核
猎豹IE+chromoe双内核
百度Trident
QQTrident+webkit

正是因为这些浏览器使用的内核不一样活着浏览器版本的的升级,需要做一些兼容

1.chrome认为文档是在body标签上 ;Fierfox/chrome认为文档是在html标签上

var body = document.body || document.documentElement;

2.获取滚动条距离

varsTop=document.body.scrollTopdocument||documentElement.scrollTop  

3.网页可视区

window.innerHeight || document.documentElement.clientHeight
window.innerWidth || document.documentElement.clientWidth

4.事件对象

var e = event || window.event

5.获取事件源/事件目标对象

e.target || e.srcElement;

6.获取键盘信息

e.target || e.srcElement;

7.输出文本

var text = innerText || textContent;

说明:innerText在IE中能正常工作,但是innerText在FireFox中却不行. 需用textContent
解决方法
8.事件监听

addEventListener('事件名(无on)','事件函数',true/false)//现代浏览器
attachEvent() //ie8以下 

9.阻止浏览器默认行为

function prevent(){
	if(e.preventDefault){
	   e.preventDefault();
	}else{
	   e.returnValue=false;(ie)
	}
}

10.阻止事件冒泡

e.stopPropagation() ? e.stopPropagation() : e.cancelBubble=true;

说明:e.cancelBubble=true;兼容Ie8以下,现在浏览器也支持
事件对象中的重要属性
target
-真正被点击的元素(通常是底层元素)
currentTarget
当前正在处理事件的元素/被绑定事件的元素(通常是祖先元素)

另一种阻止冒泡的方式: event.target == event.currentTarget;自己被点击自己被处理

11.创建ajax对象

var xhr = new XMLHttpRequest()     ||    new ActiveXObject("Microsoft,XMLHTTP");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值