BOM (浏览器对象模型)

简介

作用:提供了独立的内容与浏览器窗口进行交互,因为BOM的核心功能是管理窗口和窗口之间的通讯。所以说BOM当中核心对象window

BOM里面包括了诸多对象,由这些对象共同构成了BOM,这诸多的对象当中提供了很多方法
和属性就是BOM实现功能的依据。 BoM最初是NetScape浏览器标准的一部分。

window对象

window对象是BOM的核心对象,其他对象都是通过BOM延申而来。可以说其他
的对象上的子对象。因为window对象是最顶层的对象,所以window对象的方
法在调用过程中可以不写window

子对象 history

主要处理的是浏览器窗体当中的导航

方法(api)

history.go : 切换访问,参数为正数则模拟的是浏览器当中的前进按钮为负数则模拟的是浏览器当中的后退

//点击前进到下一个网页
btn.onclick = function(){
history.go(1);
}
//点击后退一个网页
btn.onclick = function(){
hostory.go(-1);
}

history.back 后退一次

history.forward 前进一次

子对象 lacation

获取和设置窗口的url,并且可以解析url

url 统一资源定位符

lacation属性

hash : url当中#后面的内容

host : 域名(带有端口号)

hostname : 域名(不带端口号)

herf : 完整的url地址

pathname : 域名后的内容(路径)

port : 端口

protocol : 协议 (http等)

search : 表示请求的参数

toString : 可以将域名变成纯粹的字符串

子对象 navigator

查看浏览器和操作系统的相关信息

navigator的属性

appCodeName 浏览器代码名

appName 官方浏览器的字符串表示

appVersion 浏览器版本信息

cookieEnable 检测浏览器是否开启cookie,true表示开启

userAgent 用户代理头

子对象 screen

屏幕

screen 属性

availHeight 窗口可以使用的屏幕高度,单位像素

availWeight 窗口可以使用的屏幕宽度

colorDepth 浏览器表示的颜色位置

height 屏幕高度

width 屏幕宽度

子对象 frames

浏览器框架集合对象

常用api

moveBy 相对窗口的当前坐标把它移动指定的像素(IE能用)

window.moveBy(x,y);

moveTo 当前窗口移动到指定的坐标位置

window.moveTo(x,y);

resizeBy 调整窗口大小

window.resizeBy(x,y);

resizeTo 动态调整窗口的大小

window.resizeTo(x,y);

scrollTo 可把内容滚动到指定的坐标

scrollTo(xpos,ypos)

scrollBy 可把内容滚动指定的像素数

scrollBy(xnum,ynum)

focus 获取聚焦

documentElement.focus();

blur 失去焦点

documentElement.blur();

open 打开网页

window.open('http://www.baidu.com');

属性

innerWidth 浏览器窗口可视区宽度(不包括浏览器控制台,菜单栏,工具栏) 不兼容IE9以下

innerHeight 浏览器窗口可视区高度(不包括浏览器控制台,菜单栏,工具栏) 不兼容IE9以下

document.documentElement.clientWidth 浏览器窗口可视区宽度(不包括浏览器控制台,菜单栏,工具栏) IE低版本可用

document.documenElement.clientHeight 浏览器窗口可视区高度(不包括浏览器控制台,菜单栏,工具栏) IE低版本可用

outerHeight 浏览器整体高度

outerWidth 浏览器整体宽度

BOM笔记的更多相关文章

  1. DOM&BOM笔记

    day01正课:1. DOM概述2. ***DOM树3. *查找 1. DOM概述: DHTML:动态网页技术的统称 DHTML=HTML+CSS+JS 鄙视题: HTML XHTML DHTML X ...

  2. 第8章BOM笔记

    第八章 BOM 一. Window 在浏览器中window有双重角色,他既是JavaScript访问浏览器窗口的一个借口,又是ECMAscript 规定的Global对象. 1.全局作用域 由于win ...

  3. SAP BOM 笔记(本文仅作笔记使用,非原创)

    SAP各种BOM汇总--含义解释(简洁易懂)-转载(原文连接:http://blog.sina.com.cn/s/blog_b9137f430102xpam.html)感谢作者分享     订单BOM ...

  4. JavaScript BOM学习

    Mirror王宇阳 2019年11月13日 [首发] 数日没有更新博文了,觉得不好意思了!这不是,整理了一下JavaScript的一下BOM笔记资料,今天贡献出来!(HTML DOM也会随后整理发表) ...

  5. 重拾javascript动态客户端网页脚本

    笔记一: 一.DOM 作用: ·              DOM(Doument Object Model) 1.document文档 HTML 文件 (标记语言) <html> < ...

  6. 超详细的DOM操作(增删改查)

    操作DOM的核心就是增删改查 原文地址:https://jianshu.com/p/b0aa846f4dcc 目录 一.节点创建型API 1.1 createElement 1.2 createTex ...

  7. 字符编码笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian

    转载:http://witmax.cn/character-encoding-notes.html 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问 ...

  8. 字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian

    1.字符编码.内码,顺带介绍汉字编码 字符必须编码后才能被计算机处理.计算机使用的缺省编码方式就是计算机的内码.早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB231 ...

  9. HTML5学习笔记(二十一):BOM

    BOM(Browser Object Model) 是指浏览器对象模型. 由于最初JavaScript就是设计在浏览器中执行的脚本语言,所以BOM是浏览器提供给JavaScript操作自身的接口. w ...

随机推荐

  1. linux 基础入门(9) 系统服务 systemctl 与 xinted的运用

    9.系统服务 9.1系统服务 可以把计算机理解为一个地点比如中关村大街系统服务理解为中关村大街的理发店.饭店.商场等等,每一个都是一个系统服务,为客户提供不同内容的服务 服务:常驻在内存中的程序,且可 ...

  2. C# WPF可拖拽的TabControl

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF可拖拽的TabControl 阅读导航 本文背景 代码实现 本文参考 源码 1. ...

  3. SpringCloud之eureka注册中心入门

    eureka注册中心 一.基本概念 SpringCloud封装 了Netflix公司的eureka作为自己微服务的注册中心.这个注册中心和dubbo中的zookeeper很相似,简单来说,只要你可以将 ...

  4. P1651 塔

    ----------------- 链接:Miku ----------------- 这是一道dp题,我么很容易发现这点. 数据范围很大,如果直接用两个塔的高度当状态,很危险,我们就必须要考虑一下优 ...

  5. 0.96寸OLED显示屏驱动手册(SSD1306)

    MCU IIC接口 IIC通信接口由从地址位SA0,IIC总线数据信号SDA(输出SDAout/D2和输入SDAin /D1)和IIC总线时钟信号SCL(D0).不管是数据线还是时钟线都需要连接上拉电 ...

  6. 图片上传的进度条-jquery

    <div style="padding: 10px;"> <div class="progress-bar" style="disp ...

  7. UVA-1588

    只用C来写 题目:https://vjudge.net/problem/UVA-1588 #include<stdio.h> #include<string.h> #defin ...

  8. HTTP协议、时间戳、防盗链的一些概念

    HTTP协议 什么是HTTP协议 (HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一 ...

  9. python 学习笔记之手把手讲解如何使用原生的 urllib 发送网络请求

    urllib.urlopen(url[,data[,proxies]]) : https://docs.python.org/2/library/urllib.html python 中默认自带的网络 ...

  10. 用idea打包maven项目

    利用idea工具打包项目 1.点击图中标记①,idea会自动生成打包命令,这个打包命令会包含单元测试内容,如果单元测试的内容报错,是打包不成功的,这个时候我们需要在打包命令中用 -Dmaven.tes ...