1.BOM对象简介:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
/*
* BOM
* - 浏览器对象模型
* - 在BOM中为我们提供了一组对象,通过这些对象我们可以完成对浏览器的操作
* - window
* - 代表浏览器的窗口
* - navigator
* - 代表的浏览器的信息,通过该对象可以来识别不同的浏览器
* - history
* - 代表的浏览器的历史记录,通过该对象可以控制浏览器向前或向后翻页
* - location
* - 代表浏览器的地址栏的信息,通过该对象可以控制浏览器跳转页面
*
* - screen
* - 代表用户的屏幕信息
*
* - 我们的BOM对象都是作为window对象的属性保存的,
* 我们可以通过window对象来访问
*
*/
//console.log(window.location);
//console.log(navigator);
/*
* navigator
* - 通过该对象可以判断浏览器的信息
* - 由于历史原因Navigator中的大部分属性都已经不能用来识别浏览器
* - 但是该对象中还有一个属性叫做userAgent(用户代理),还可以用来识别不同的浏览器
* userAgent实际上就是一个字符串,不同的浏览器会有不同的userAgent,所以我们可以通过该属性来判断浏览器的版本
*
* - 火狐的UA
* Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
* - chrome的UA
* Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
* - IE8
* Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* - IE9
* Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* - IE10
* Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* - IE11
* Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
* - 在IE11的UserAgent中已经完全找不到微软的印记了
*/
//alert(navigator.appName);
var ua = navigator.userAgent;
console.log(ua);
//通过UserAgent来判断浏览器的信息
if(/firefox/i.test(ua)){
alert("你是火狐~~~");
}else if(/chrome/i.test(ua)){
alert("你是chrome浏览器~~~");
}else if(/msie/i.test(ua)){
alert("你是IE");
}else if("ActiveXObject" in window){
alert("你是IE11");
}
/*
* 可以通过一些IE浏览器中独有的对象来判断浏览器是否是IE
* 比如:ActiveXObject
* - 这个对象是一个构造函数,它是IE中用于发送AJAX请求的对象,是IE中独有的
*/
//alert(!!window.ActiveXObject);
//alert("ActiveXObject" in window);
/*if("ActiveXObject" in window){
alert("你是IE~~~");
}*/
</script>
</head>
<body>
</body>
</html>