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. SpringCloud入门学习

    我相信,如果小伙伴们能来到这里,肯定对微服务有一定的认识. 我们之前创建web项目的时候,常见的有两种方式: 1).创建一个war包,然后放在servlet容器中运行(比如Tomcat等); 2).使 ...

  2. 如何在 vue 中添加权限控制管理?---vue中文社区

    前言 在一个项目中,一些功能会涉及到重要的数据管理,为了确保数据的安全,我们会在项目中加入权限来限制每个用户的操作.作为前端,我们要做的是配合后端给到的权限数据,做页面上的各种各样的限制. 需求 因为 ...

  3. XSStrike工具的安装使用

    0x01简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payload 使用payload对参数进行穷举匹配 内置 ...

  4. urlencode($url):把url转义,当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符串的

    1.对url进行编码转义

  5. js Dom为页面中的元素绑定键盘或鼠标事件

    html鼠标事件 onload 页面加载 onclick 鼠标单击 onmouseover 鼠标移入 onmouseout 鼠标移出 onfocus 获取焦点 onblur 失去焦点 onchange ...

  6. PPT、Word、Excel模板免费下载

    本篇文章可能只有寥寥数字,但他的作用可能很大,可能帮助到很多朋友.本人喜欢搜集一些资源,也爱免费分享,因为好东西我藏不住,总感觉分享出来更快乐. 网址:https://www.bangongziyua ...

  7. CGI、FastCGI和php-fpm的概念和区别和运行原理

    CGI: CGI的英文是(COMMON GATEWAY INTERFACE)公共网关接口,它的作用就是帮助服务器与语言通信,这里就是nginx和php进行通信,因为nginx和php的语言不通,因此需 ...

  8. CF840D[Destiny] [主席树板子]

    模板题,提供两种思路. 1.考虑它求得是 出现个数\(>\lfloor \frac{r-l+1}{k}\rfloor\) 的最小值 那么我们可以根据如果大于这个数那么你把这个区间数列排好序然后分 ...

  9. CF718C Sasha and Array [线段树+矩阵]

    我们考虑线性代数上面的矩阵知识 啊呸,是基础数学 斐波那契的矩阵就不讲了 定义矩阵 \(f_x\) 是第 \(x\) 项的斐波那契矩阵 因为 \(f_i * f_j = f_{i+j}\) 然后又因为 ...

  10. Intel 8086 常用汇编指令表

    一.数据传输指令 它们在存贮器和寄存器.寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH ...