bom

  browse object model
浏览器对象模型。
也就是window对象下面的东西。

location 对象

  window.location.href 表示打开窗口的路径。
window.location.reload 刷新当前页面。

navigator 对象

  window.navigator.appName 浏览器名称。
window.navigator.userAgent 用户代理信息,通过该属性可以获取浏览器以操作系统信息。

confirm() 方法

  confirm("对话框提示文字")
此方法有返回值,点击确定返回 true ,取消返回 false 。
var a=confirm('你在吗')
if(a){
  console.log('在')
}else{
  console.log('不在')
}

prompt() 方法

  prompt('对话框提示文字')
此方法有返回值,点击确定返回对话框字符。取消返回 null 。
var a=window.prompt('输入姓名')
if(a!=null && a!=''){
  console.log('注册成功')
}

onfocus() 使元素获得焦点

onblur() 当元素失去焦点

open() 方法

  window.open('url','打开方式','窗口大小')
第三个窗口可以设置窗口大小的前提是窗口在新窗口中打开。
如果打开方式不写,默认是打开新窗口。
<input type="button" id="btn" value="按钮">
<script>
  //在ie下打开已经设置大小的窗口没有滚动条而且不能调节大小
  btn.onclick=function(){
    window.open('http://www.baidu.com/','_blank','width=500,height=500')
  }
</script>

close() 方法

  当直接使用 window.close 时,在谷歌中将关闭自己窗口。
在火狐中没有任何反应。
在ie中询问是否关闭。
<input type="button" id="btn" value="打开新窗口">
<input type="button" id="btn1" value="关闭新窗口">
<script>
  var opener=null; //在外面定义此变量,以让另一个函数能使用。
  btn.onclick=function(){
    opener=window.open('http://www.baidu.com')
  }
  btn1.onclick=function(){
    //每打开一个新窗口,会开启一个新的 window 对象。
    opener.close()
  }
</script>

clientWidth/Height 不加border的大小

  他们获取的大小包括元素自身大小和padding大小。
一般获取整个页面的大小,使用 documentElement ,而不是 body.clientWidth/Height 。
var w=document.documentElement.clientWidth;
var h=document.documentElement.clientHeight;
console.log(w,h)

offsetWidth/Height 加border的大小

  获取 自身+padding+border 的大小 。
<div id="div1" style="width:100px;height:100px;padding:2px;border:5px solid #ccc;margin:10px"></div>
<script>
  var div1=document.getElementById('div1');
  var w=div1.clientWidth; //104 自身+padding
  var w1=div1.offsetWidth; //114 自身+padding+border
  console.log(w,w1)
</script>

onresize 窗口被改变时

//当窗口大小改变时
window.onresize=function(){
  console.log('窗口被改变')
}

scrollTop/Left 滚动距离

  document.body.scrollTop||document.documentElement.scrollTop;
获取页面的上下滚动距离。当然没有滚动就没有滚动距离。
document.body.scrollLeft||document.documentElement.scrollLeft;
获取页面的左右滚动距离。
window.onclick=function(){
  // body 用来兼容 chrome
  var st=document.body.scrollTop||document.documentElement.scrollTop;
  console.log(st) //滚动的距离
}

js浏览器对象模型-BOM的更多相关文章

  1. 浏览器对象模型BOM

    第二章 浏览器对象模型BOM 1.作用:操作窗口:提供导航对象:提供定位对象:浏览器上方的地址栏:提供跟屏幕相关对象:提供对Cookie的支持 2.根元素:window:代表整个窗口:window,o ...

  2. JavaScript高级程序设计(第3版)学习笔记·第8章——浏览器对象模型BOM

    转自:http://www.shaoqun.com/a/43768.aspx 访问和操作浏览器窗口的模型称为浏览器对象模型BOM(Browser Object Model),但习惯上是把所有针对浏览器 ...

  3. 浏览器对象模型BOM小结

    概念 BOM (Browser Object Model) 浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window B ...

  4. 浏览器对象模型BOM(Browser Object Model)

    1.结构 BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是w ...

  5. JavaScript编程:浏览器对象模型BOM

    4.浏览器对象模型BOM: document.body.offsetwidth可以获取浏览器宽度. Window对象:          窗口操作:            1.moveBy(dx,dy ...

  6. JavaScript 浏览器对象模型 (BOM)

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”. 浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model)尚无正式标准. 由于现代浏览器已经 ...

  7. 浏览器对象模型bom的作用是什么?

    浏览器对象模型bom的作用是什么? 零.总结 1.BOM提供了独立于内容而与浏览器窗口进行交互的对象 2.BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和 ...

  8. 浏览器对象模型(BOM)是什么?(体系结构+知识详解)(图片:结构)

    浏览器对象模型(BOM)是什么?(体系结构+知识详解)(图片:结构) 一.总结 1.BOM操作所有和浏览器相关的东西:网页文档dom,历史记录,浏览器屏幕,浏览器信息,文档的地址url,页面的框架集. ...

  9. js浏览器对象模型(BOM)

    浏览器对象模型(Browser Object Model,BOM):浏览器为js提供的对象集合. 1 windows对象 windows对象:表示浏览器的框架以及与其相关的内容,比如滚动条和导航栏图标 ...

随机推荐

  1. 尽量用goto代替尾递归

    void PrintList(List L) { if(L!=Null) { PrintElement(L->Element); PrintLisr(L->Next); } } 所谓尾递归 ...

  2. d-规则

    [问题描述]对任意给定的m(m∈N+)和n(n∈N+),满足m<n,构造一初始集合:P={x|m≤x≤n,x∈N+} (m,n≤100).现定义一种d规则如下:若存在a∈P,且存在K∈N+ ,K ...

  3. java-并发-高级并发对象1

    以往说到的线程对象都是java平台中非常初级的API,用于处理一些基本的任务,对于一些复杂高级的工作,就需要一些高级的并发对象,尤其是针对于当今的应用程序,要充分利用现在的多核多处理器系统的性能. 以 ...

  4. Day 1:开始重新学习

    离开很久,前几天翻出以前做过的程序居然还能正常运行.有一点后悔,为什么当初没有坚持做下去.Delphi园地前一阵也曾经宣布要关站,但仍然坚持过来了,在此向站长致敬!我也要重新开始! 附图:Delphi ...

  5. php 搜索(查询)功能

    今天遇到一个问题:在做“搜索”功能时,输入查询条件后查询不了. 我做的是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数 ...

  6. mysql主从复制配置

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

  7. phantomjs 双向认证,访问nginx,https

    应用背景: phantomjs的一个爬虫,访问https站点,单向认证(只认证服务器身份)的都可以,双向认证(服务器和客户端都需要认证)必须上传本地证书: 开始用一个包含公钥私钥的PEM证书访问,怎么 ...

  8. CSS中"!important"的使用

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < ...

  9. 关于 iframe 在ie11 height:100% 无效的巨坑

    好的,今天公司分配了个解决ie中的bug的任务,其中,有一个就是iframe 的高度 100% 没有生效的问题: 一开始,由于我真的没有怎么去了解过iframe这个货,所以,网上各种搜索一大堆关于这货 ...

  10. WebP 原理和 Android 支持现状介绍(转)

    本文为腾讯Bugly开发者社区 投稿,作者:soonlai,版权归原作者所有,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b70855 ...