【BOM】浏览器对象模型
1.navigator :保存浏览器配置信息的对象
常用 navigator.plugins: 显示浏览器中所有插件信息的集合
navigator.cookieEnabled: 判断是否开启cookie
navigator.userAgent : 判断浏览器的名称和版本号
获取浏览器版本号函数:
var br=navigator.userAgent.toLowerCase();
var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1];
浏览器名称判断函数:
function userBrowser(){
var browserName=navigator.userAgent.toLowerCase();
if(/msie/i.test(browserName) && !/opera/.test(browserName)){
colsole.log("IE");
eturn ;
}else if(/firefox/i.test(browserName)){
colsole.log("Firefox");
return ;
}else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){
colsole.log("Chrome");
return ;
}else if(/opera/i.test(browserName)){
colsole.log("Opera");
return ;
}else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){
colsole.log("Safari");
return ;
}else{
colsole.log("unKnow");
}
}
userBrowser();
2.screen:保存显示屏幕的对象信息
常见:
window.screen.availWidth: 返回当前屏幕可用宽度。
window.screen.availHeight: 返回当前屏幕可用高度 。
window.screen.width: 返回当前屏幕宽度。
window.screen.height: 返回当前屏幕高度。
3.history:保存当前的历史记录栈
常用:
回退页面:history.back() 或 history.go(-1);
刷新页面:history.go(0);
前进页面:history.forward() 或 history.go(1);
查看历史页面数:history.length;
4.loaction:指代当前窗口正在访问额url地址对象
常用方法:
location.assign('url'):加载新的文档。可以历史前进后退。location.assign(location)可实现当前页刷新。
location.replace('url'):用新的文档替换当前文档。不可以历史前进后退。location.replace(location)可实现当前页刷新。
location.reload(): 重新加载当前文档,当前页刷新。如果参数为true,则直接重新从服务器获取;参数为false,则先从会用HTTP头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload()会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。
除以上外,location = location 也可以用来实现当前页刷新。
常用属性:
location.href:设置或返回完整的 URL。
location.protocol:设置或返回当前 URL 的协议。
location.host:设置或返回主机名和当前 URL 的端口号。
location.hostname:设置或返回当前 URL 的主机名
location.port:设置或返回当前 URL 的端口号。
location.pathname:设置或返回当前 URL 的路径部分。
location.hash:设置或返回从井号 (#) 开始的 URL(锚)。
location.search:设置或返回从问号 (?) 开始的 URL(查询部分)。
【BOM】浏览器对象模型的更多相关文章
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- JavaScript——BOM(浏览器对象模型),时间间隔和暂停
BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...
- BOM浏览器对象模型
访问和操作浏览器窗口的模型称为浏览器对象模型BOM(Browser Object Model). BOM整体对象图. 核心是window对象: 以下有特殊双重身份: window对象既是ECMAScr ...
- javascript之BOM浏览器对象模型引入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript(二、BOM 浏览器对象模型)
一.BOM是什么 BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心 ...
- BOM—浏览器对象模型(Browser Object Model)
1,javascript 组成部分: 1.ECMAscript(核心标准): 定义了基本的语法,比如:if for 数组 字符串 ... 2.BOM : 浏览器对象模型(Browser ...
- JS第三部分--BOM浏览器对象模型
一.client系列:宽高边框 二.offset系列:偏移 三.scroll系列 四.BOM的介绍 4.1.打开新窗口 4.2.location对象(本地信息对象) 4.3.history对象 4.4 ...
- js BOM浏览器对象模型
BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...
- JavaScirpt(JS)——BOM浏览器对象模型
一.BOM概念 BOM(Browser Object Model)即浏览器对象模型.可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关 ...
- BOM——浏览器对象模型(Browser Object Model)
什么是BOM? BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对 ...
随机推荐
- jmeter JDBC connection configuration配置方式
- Java IO详解(七)------随机访问文件流
File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...
- jquery訪问ashx文件演示样例
.ashx 文件用于写web handler的..ashx文件与.aspx文件类似,能够通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程.事实上就是带HTM ...
- 保存网格(mesh)到磁盘上
Unity提供了很方便的工具来保存mesh之类的,下面的代码挂在GameObject上后,按下F键能把mesh(该GameObject必须有mesh组件)保存到磁盘的Assets目录下.在磁盘上是.a ...
- FakeID签名漏洞分析及利用(二)
本文转自:http://blog.csdn.net/l173864930/article/details/38409521 继上一次Masterkey漏洞之后,Bluebox在2014年7月30日又公 ...
- SpingMVC的<context:component-scan>包扫描踩坑记录
公司项目配置的Spring项目的包扫描有点问题,出现了一个被Spring容器管理的Bean被创建了2次的现象.在此记录下解决的过程,方便后续查阅. 改动前: 容器启动监听器中会扫描全部包,创建 ...
- [BZOJ3123][Sdoi2013]森林 主席树+启发式合并
3123: [Sdoi2013]森林 Time Limit: 20 Sec Memory Limit: 512 MB Description Input 第一行包含一个正整数testcase,表示当 ...
- Linux环境中Qt程序的手工发布
Linux环境中Qt程序的手工发布
- [JOI2017春季合宿]Port Facility[set、二分图]
题意 你有两个栈,有 \(n\) 个货物,每个货物有一个进栈时间和出栈时间(所有时间的并集是1~2n),问有多少种不同的入栈方案. \(n\le 10^6\) 分析 把每个货物的存在看成区间,相交的区 ...
- 在 Azure 上部署 Asp.NET Core Web App
在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...