BOM笔记

本节主要讲述BOM笔记

窗口大小

innerWidth

innerHeight

outerWidth

outerHeight

location对象

属性名 例子 说明
hash #contents 返回hash
host www.webfly.com.cn:8080 返回服务名称和端口号
hostname www.webfly.com.cn 返回不带端口号的服务器名称
href http://www.webfly.com.cn 返回当前页面的完整url
pathname /iuyas/ 返回url中的名称和文件名
port 8080 返回url的端口号
protocol http: 返回页面使用的协议
search ?q=javascript 返回url的查询字符串

查询字符串参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function getQueryStringArgs() {
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
var args = {};

var items = qs.length ? qs.split("&") : [];
var item = null,
name = null,
value = null,
i = 0,
len = items.length;


for (i = 0; i < len; i++) {
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);

if (name.length) {
args[name] = value;
}
}

return args;
}

console.log(getQueryStringArgs())

假设网站地址是:file:///E:/codes/高程/index.html?name=”121”&query=”abs”

navigator对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var appCodeName = window.navigator.appCodeName; //返回与浏览器相关的内部代码名  都为Mozilla
var appName = navigator.appName; //返回浏览器正式名称 均为Netscape
var appVersion = navigator.appVersion; //返回浏览器版本号
var cookieEnabled = navigator.cookieEnabled; //返回浏览器是否启用cookie,true和false
var geolocation = navigator.geolocation; //返回地理定位信息(h5)
var javaEnabled = navigator.javaEnabled(); //检测当前浏览器是否支持 Java,从而知道浏览器是否能显示 Java 小程序(IE,chrome返回true,firefox返回false)
var language = navigator.language; //返回浏览器的首选语言
var mimeTypes = navigator.mimeTypes; //返回浏览器支持的Mime类型
var msManipulationViewsEnabled = navigator.msManipulationViewsEnabled; //仅支持IE,true
var msMaxTouchPoints = navigator.msMaxTouchPoints; //字面意思是最大的触摸点,IE为0,其他不支持
var msPointerEnabled = navigator.msPointerEnabled; //IE为true,其他不支持
var onLine = navigator.onLine; //是否连接互联网,均返回true(未断网)
var platform = navigator.platform; //所在平台,返回win32
var plugins = navigator.plugins; //返回浏览器插件集合
var preference = navigator.preference; //允许一个已标识的脚本获取并设置特定的 Navigator 参数
var product = navigator.product; //浏览器产品名,返回gecko
var systemLanguage = navigator.systemLanguage; //获取系统语言,IE支持,返回zh-cn
var userAgent = navigator.userAgent; //判断浏览器类型
var userLanguage = navigator.userLanguage; //返回操作系统的自然语言设置,IE支持,返回zh-cn

//方法
var msLaunchUri = navigator.msLaunchUri; //回调函数,未研究
var taintEnabled = navigator.taintEnabled; //回调函数
var hasOwnProperty = navigator.hasOwnProperty; //意思是是否支持属性,用法如下

console.log(appCodeName)
console.log(appName)
console.log(appVersion)
console.log(cookieEnabled)
console.log(geolocation)
console.log(javaEnabled)
console.log(language)
console.log(mimeTypes)
console.log(msManipulationViewsEnabled)
console.log(msMaxTouchPoints)
console.log(msPointerEnabled)
console.log(onLine)
console.log(platform)
console.log(plugins)
console.log(preference)
console.log(product)
console.log(systemLanguage)
console.log(userAgent)
console.log(userLanguage)

案例

  • 检测插件

navigator.plugins

1
2
3
4
5
6
7
8
9
10
11
12
13
function hasPlugin(name) {
name = name.toLowerCase();

for (var i = 0; i < navigator.plugins.length; i++) {
if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) {
return true
}
}

return false
}

alert(hasPlugin("Flash"))