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主要用于管 ...
随机推荐
- android studio 中如何合并冲突(转)
合并分支,解决冲突 执行Git merge ,如果有冲突,就会出现如下格式: <<<<<<< HEAD 这个位置的内容就是当前所在分支的内容 ======= ...
- 移动端热更新方案(iOS+Android)
PPT资源包含iOS+Android 各种方案分析:https://github.com/qiyer/Share/blob/master/%E7%83%AD%E6%9B%B4%E6%96%B0%E5% ...
- Zeu.js
一个生成各种 GIF 动画的 JavaScript 类库,非常适合用于让你的数据展示变得更加地生动.使用起来也非常简单,有数据展示需求的同学可以尝试一下.https://shzlw.github.io ...
- double保留两位小数
public static String format(double dValue, int lScale) { // ////负数,则装化为正数后进行四舍五入 boolean bFlag = fal ...
- SpringMVC登录拦截DEMO
交给/login的post请求的控制器处理, 并通过控制器的逻辑控制获取提示信息login.jsp<%-- Created by IntelliJ IDEA. User: shijinglu D ...
- Docker 构建镜像
Docker 构建镜像 1.首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容. 下面三行代码表示: 1.这三个路径要排除,不要打包进入 image 文件. 2.如果你 ...
- UI自动化(九)Css Selector
什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 ...
- auto关键字
使用前: #include<string> #include<vector> int main() { std::vector<std::string> vs; f ...
- linux --- 7. 路飞学城部署
一.前端 vue 部署 1.下载项目的vue 代码(路飞学城为例), wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip ...
- 分类统计的controller和service
SpringMVC框架下的 部分代码: Controller控制器: @Resource ReviewTitleService reviewTitleService;//调用ReviewTitleSe ...