BOM Browser Object Model 浏览器对象模型

虚拟机 ,任何语言编辑的程序都需要一个虚拟机来执行。如果脱离这个环境就无法运行。 浏览器就是一种虚拟机。用来解析html语言

同一款浏览器,在不同系统中,属性值是不同的

同一个系统,不同浏览器,属性都不同

BOM是有兼容问题

BOM属于树型结构。 BOM的根就是Window

DOM的根是Document   //DOM的根就是BOM的根下的一个属性

BOM的主要方法:
1 Window.doucment // Document 文档
Window.Location // 本地信息
Window.history // 历史 浏览器前进后退
Window.screen // 屏幕
Window.navigator // 浏览器信息

window的属性方法

1. open() //弹窗,设置弹出的网页地址,宽度高度等信息。

2. close() //关闭浏览器

3. innerWidth 、innerHeight //浏览器的宽度 包含滚动条宽度, 高度是文档的高度

4. outerWidth 、outerHeight //如果全屏宽度一样,如果不是全屏,则包含阴影宽度,
//高度是整个浏览器的高度。

5. screenLeft、 screenTop
screenX、 screenY //上下两组属性完全相同 浏览器窗口距离屏幕左上角的距离, 只读数据,无法进行修改

location的属性方法


1. location.reload(); //重载(刷新)当前页面

2. location.href="" //跳转到特定网址 可以设置获取网址信息 产生历史记录

3. location.assign("")//跳转页面 无法获取网址信息 产生历史记录

4. location.replace("")//跳转网页 无法产生历史记录
   >点击按钮跳转页面,
  >当服务器返回处理完的数据后台要求页面跳转

5. location.hash //获取锚点名 网页地址#和后面的内容 6. location.search //网址?和后面的内容 ## http://127.0.0.1:5500/test4.html ## 7. location.hostname // 网页域名 127.0.0.1

8. location.port //端口号 5500

9. location.pathname //域名端口号以外的内容 /test4.html

10. location.protoclo //获取网页协议 http:

history 方法

1. history.length //保存浏览器历史记录url数量 初始值为1

2. history.go() //接收一个参数,正数代表向前跳转,负数代表向后跳转

3. history.back() //向后跳转 等同于history.go(-1);
4. history.forward() //向前跳转,等同于history.go(1);

5. history.pushState() //向浏览器历史添加了一个状态。pushState()方法带有三个参数:一个状态对象、一个标题(现在被忽略了)以及一个可选的URL地址 [ history.pushState(state, title, url); ]

6. history.replaceState() //方法的参数与pushState方法一模一样,不同之处在于replaceState()方法会修改当前历史记录条目而并非创建新的条目

screen 属性

1. screen.availWidth   //电脑屏幕的宽度
2. screen.availHeight //电脑屏幕的高度
3. screen.width //电脑屏幕的宽度( 去掉底下任务栏 )
4. screen.height //电脑屏幕的高度( 去掉底下任务栏 )

navigator 属性

1. navigator.userAgent  //获取浏览器信息

2. navigator.appName //返回浏览器的名称

3. navigator.appVersion //返回浏览器的平台和版本信息

4. navigator.platform //返回运行浏览器的操作系统平台

一篇让你明白什么是浏览器BOM方法的笔记的更多相关文章

  1. ASP.NET实现推送文件到浏览器的方法

    这篇文章主要介绍了ASP.NET实现推送文件到浏览器的方法,可实现将文件推送到浏览器供用户浏览或下载的功能,需要的朋友可以参考下 本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大 ...

  2. javascript的window.ActiveXObject对象,区别浏览器的方法

    (window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...

  3. js/jquery判断浏览器的方法小结

    在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...

  4. js/jquery判断浏览器的方法总结

    JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...

  5. 笔记:1.css样式,最前边加 @charset "utf-8";是为什么2.js判断各种浏览器的方法

    表明CSS文件的页面编码为UTF-8..如果这个CSS的文件编码也是UTF-8的话..那么在浏览器中看到的CSS文件的页面中中文的注释或者中文字体就可以正确显示为中文,如果CSS的文件编码和页面不一致 ...

  6. Opera浏览器测试移动端网站和模拟手机浏览器的方法

    链接地址:http://www.neirong.org/post-256.html?utm_source=tuicool Chrome浏览器请看:Chrome浏览器测试移动端网站和模拟手机浏览器的方法 ...

  7. js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结

    1.js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结 : http://www.haorooms.com/post/js_pc_iosandmobile 2.Js判断客户端是否为PC还是手 ...

  8. python 打开浏览器的方法 Python打开默认浏览器

    一.python 打开浏览器的方法: . startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet exp ...

  9. 排错-Loadrunner录制打不开浏览器解决方法

    排错-Loadrunner录制打不开浏览器解决方法 by:授客 QQ:1033553122 问题描述: 采用自带的web测试站点http://127.0.0.1:1080/WebTours/,进行录制 ...

随机推荐

  1. OpenCV中Mat的基本用法:创建、复制

    OpenCV中Mat的基本用法:创建.复制 一.Mat类的创建: 1.方法一: 通过读入一张图像,直接将其转换成Mat对象. Mat image = imread("test.jpg&quo ...

  2. PHP的魔术常量(常用八大常量)

    PHP的魔术常量都是由不同的扩展库定义的,只有在加载了这些扩展时才会出现,或者动态加载后 有八个魔术常量他们的值随着他们在代码中的位置改变而改变. __LINE__  文件中的当前行号. 实列: &l ...

  3. 基于osg的python三维程序开发(一)

    背景: osg是一款开源的三维引擎,在过去多年的发展中积累了大量的用户,该引擎基于场景树的管理,使用方法简单.但是对长期使用python作为开发工具的朋友来说, 有一定门槛. 下面的小程序,演示了如何 ...

  4. Oracle根据实体类比对2个数据库结构差异(demo)

    源起 在公司做项目时 经常出现 实体结构和线上的数据结构以及公司开发库数据结构不匹配的问题 但是又不能直接把开发库导入到生产库因为生产库已经有实际数据了 所以弄了一个小工具 此处只做记录用 demo级 ...

  5. vue-cli2.0项目 添加骨架屏

    1.创建项目 npm init webpack project 3.下载   vue-skeleton-webpack-plugin 插件 npm install vue-skeleton-webpa ...

  6. tempdb 日志文件增长的问题

    前两天在一个客户那里发现tempdb log 文件增长很大,已经使用40GB了,而tempdb log 文件总的分配空间是70GB,并且日志空间貌似不能重用,他们使用sql 2012 打的sp4补丁, ...

  7. 1分钟,带你上手“Markdown”语法

    前言 Markdown 是一种轻量级的标记语言,有 John Gruber 以及Aaron Hillel Swartz 一起编写.Aaron Hillel Swartz 是一个极富传奇的黑客,有兴趣可 ...

  8. 关于LaTex的安装

    第一次写博客,有点生疏,但是想把具体安装的流程自我的汇总一下,毕竟我总是忘记,万一下一次要用的时候又要弄很久,就当经验吧. 其实是因为这个新型冠状病毒不能出门,也没开学,想找点事情做一做 这个博客不知 ...

  9. ASP.NET MVC5实现芒果分销后台管理系统(一):系统结构设计,集成AutoMapper,Log4net

    在构思完系统思维脑图后,小墨回到家中,便摩拳擦掌开始了开发工作.要想迅速完成系统开发,前期系统设计和准备尤其重要,因为小墨做过太多大大小小的业务系统,准备工作也是十分顺利. 系统结构 整个系统工程结构 ...

  10. JVM 常用参数一览表(转)

    参数 默认值或限制 说明 参数 默认值 功能 -XX:-AllowUserSignalHandlers 限于Linux和Solaris,默认不启用 允许为java进程安装信号处理器,信号处理参见类:s ...