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系统开机显示BusyBox v1.22.1 built-in shell(ash) 解决方法

    BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件.BusyBox 包含了一些简单的工具,例如ls.cat和echo等等,还包含了一些更大.更复杂的工具,例grep.find.mou ...

  2. clr via c# Array2

    1,Array类型生成方式以及实际类型 private static void ArrayIntro() { String[] sa = new String[1]; Array a1 = Array ...

  3. python基礎學習第二天

    字符编码 # 需知:## 1.在python2默认编码是ASCII, python3里默认是unicode## 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf ...

  4. Postman测试上传MultipartFile文件

    单个文件上传 后台代码 //导入excel @PostMapping("/import") public Result excelImport( @RequestParam(&qu ...

  5. powerdesigner两数据库对比

    1. powerdesigner两数据库对比 1.1. 问题 position属性不一致,但这并不影响两数据库的结构,我们不需要把它当警告显示出来 1.2. 解决办法

  6. Mac苹果电脑如何格式化?

    一般而言,我们想要在Windows系统上实现格式化操作是非常容易的.然而在苹果电脑上,我们则需要通过launchpad下的磁盘工具来进行,相对而言比较麻烦.关于“苹果电脑怎么格式化”的问题也困扰着无数 ...

  7. PAT (Basic Level) Practice (中文)1041 考试座位号 (15 分)

    每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考 ...

  8. Maven的作用

    Maven的作用 1.在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...

  9. linux100讲——12 创建和删除目录

    1.建立目录 mkdir    建立目录 常用参数 -p   建立多级目录 2.删除目录 rmdir  删除空目录 rm -r      删除非空目录  (删除时有提示) rm -r -f     删 ...

  10. AI 所需的数学基础

    一.[微积分] 基础概念(极限.可微与可导.全导数与偏导数):只要学微积分,就必须要明白的概念,否则后面什么都无法继续学习. 函数求导:求导是梯度的基础,而梯度是 AI 算法的基础,因此求导非常重要! ...