JavaScript 之 BOM
BOM
BOM(Bowser Object Model) 浏览器对象模型
提供了独立于页面内容而与浏览器就行交互的对象,核心对象是window。
(BOM 无标准支持)
Navigator
浏览器代理检测 navigator.userAgent
判断浏览器类型
var str = navigator.userAgent;
if(str.indexOf("Chrome") != -1){
alert("谷歌");
}else if(str.indexOf("Firefox") != -1){
alert("火狐")
}
通过 navigator.userAgent 可以检测是移动端还是PC端
var arr = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
var str = navigator.userAgent;
for(var i = 0; i < arr.length; i++){
if(str.indexOf(arr[i]) != -1){
location.href = "mobile.html";
}
}
BOM Location
属性:hash、host、hostname、href、pathname、port、protocol、search
方法:assign(url), replace(url) , reload()
console.log(location.href);
location.href = "http://www.baidu.com";location.assign("mobile.html"); //跳转了可以返回
location.replace("mobile.html"); //跳转了不能返回reload(); //刷新页面;
BOM Histiry
history对象保存着用户上网的历史记录,从窗口被 打开的那一刻算起.
后退一页 history.go(-1) history.back()
前进一页 history.go(1) history.forward()
前进两页 history.go(2)
(必须有历史记录才能前进后退)
scrollTop: 可视区域距离页面顶部的距离
例:scrollTop=document.documentElement.scrollTop || document.body.scrollTop
scrollLeft: 可视区域距离页面左边的距离
例:scrollLeft=document.documentElement.scrollLeft || document.body.scrollLeft
clientWidth: 可视区域的宽度
例:document.documentElement.clientWidth
clientHeight: 可视区域的高度
例:document.documentElement.clientHeight
onload & onscroll & onresize
//页面加载完毕或者资源加载完毕时触发
window.onload = function(){
console.log(box);
}
</script>
<div id="box"></div>
//滚动条滚动时触发
window.onscroll = function(){
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log(scrollTop);
}
//浏览器窗口改变时触发
window.onresize = function(){
console.log("aaaa");
}
定时器和延时器
setInterval() 定时器, 每隔一段时间调用某个函数(调用多次)只产生一个计时器,只能通过clearInterval()方法才能停止该方法
setTimeout() 延时器, 隔一段时间调用某个函数(只调用一次)相当于每次产生一个计时器,计时器时间到了就会销毁。
系统自带弹出式消息提醒的方式
window.alert(string);警告框 (无返回值)
window.confirm();确认框 返回值为boolean 确定:true 取消:false (有返回值)
window.prompt(); 可输入的对话框 返回值为string 输入的信息
JavaScript 之 BOM的更多相关文章
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- 第三章 JavaScript操作BOM对象
第三章 JavaScript操作BOM对象 一.window对象 浏览器对象模型(BOM)是javascript的组成之一,它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HT ...
- JavaScript的BOM和DOM
JavaScript的BOM和DOM 1,window对象,所有浏览器都支持window对象,它表示浏览器窗口 BOM(browser Object Model)是指浏览器对象模型,它使JavaScr ...
- javascript之BOM对象(一window对象)
javascript包含三个部分,ECMAScript,BOM和DOM.ECMAScript是javascript的核心,包含javascript的基础语法.在Web中使用javascript,BOM ...
- 使用jQuery快速高效制作网页交互特效--JavaScript操作BOM对象
JavaScript操作BOM 一.window对象: 二.window对象的属性和方法 1.windows对象的常用属性: 语法:window.属性名="属性值" 2.windo ...
- 8.5 JavaScript的BOM(二)
8.5 JavaScript的BOM 即 浏览器对象模型(Browser Object Model) 浏览器对象包括 一.Window(窗口) 如果需要打开一个新的网站,应该通过超级链接等方式让用户主 ...
- JavaScript(4)---BOM详解
JavaScript(4)---BOM详解 之前写过一篇有关DOM的博客:JavaScript(2)---DOM详解 DOM有个顶级对象叫:document.同样BOM中也有顶级对象叫 window. ...
- JavaScript的BOM对象
JavaScript的BOM对象 BOM:浏览器对象模型 JavaScript和浏览器的关系:JavaScript的诞生就是为了能够让它再浏览器中运行. 1. 操作BOM对象 1.1 window w ...
- [JavaScript之BOM与DOM]
[JavaScript之BOM与DOM] BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". DOM ( ...
- javascript中BOM部分基础知识总结
一.什么是BOM BOM(Browser Object Document)即浏览器对象模型. BOM提供了独立于内容 而与浏览器窗口进行交互的对象: 由于BOM主要用于管 ...
随机推荐
- Oracle表空间碎片整理SHRINK与MOVE
整理表碎片通常的方法是move表,当然move是不能在线进行的,而且move后相应的索引也会失效,oracle针对上述不足,在10g时加入了shrink,那这个方法能不能在生产中使用呢? ...
- react和vue,angular的比较
就这几天我所了解到react情况和大家探讨一下子react的知识: react由facebook团队维护的一套框架,已经应用在instagram网站上了,react以其独特的性能优化方案,正在被越来越 ...
- restful规范快速记忆
restful规范: 十个规则: 用户发来请求,url必须: 1.因为是面向资源编程,所以每个URL代表一种资源,URL中尽量不要用动词,要用名词 2.尽量使用HTTPS,https代替http 3. ...
- undefined的几种情况
1.变量声明了,但是没有赋值: 2.一个变量声明了,并且赋值了undefined: var a = undefined; 3.一个对象中,获取某个不存在的属性,值也是undefined
- 复习-css边框和背景属性
css边框和背景属性 border:所有边框属性 border-width:四条边框的宽度 border-style:设置边框样式,主要有dotted.solid.double border-colo ...
- Navigation包中的move_base和amcl实现自动驾驶
安装功能包: 1.安装导航定位包navigation $ sudo apt-get install ros-indigo-navigation 2.由于导航包在/cmd_val下发布的移动数据加速度会 ...
- laravel 分页使用
分页 //对数据库结果分页 $users = DB::table('users')->paginate(15); //可以对 Eloquent 模型分页: $allUsers = User::p ...
- c#查找窗口的两种办法
原文最早发表于百度空间2009-06-17 1.process.MainWindowTitle(这个只能获取一部分窗口)2.EnumWindows(用windows API)
- Struts2 使用Jquery+ajax 文件上传
话不多说 直接上代码 前台js: var formData = new FormData(); formData.append("file1",$("#file1&quo ...
- Architectural principles
原文 "If builders built buildings the way programmers wrote programs, then the first woodpecker t ...