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. web前端 关于浏览器兼容的一些知识和问题解决

    浏览器兼容 为什么产生浏览器兼容,浏览器兼容问题什么是浏览器兼容: 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况. 浏览器兼容产生的原因: 因为不 ...

  2. zookeeper和dubbo安装与搭建(2)

    Zookeeper+Dubbo安装与搭建(2) (原创:黑小子-余) 一.环境配置:zookeeper3.6.0 + dubbo3.5.4 + maven3.6.1 + jdk1.8 + tomcat ...

  3. C#版免费离线人脸识别——虹软ArcSoft V3.0

    [温馨提示] 本文共678字(不含代码),8张图.预计阅读时间需要6分钟. 1. 前言 人脸识别&比对发展到今天,已经是一个非常成熟的技术了,而且应用在生活的方方面面,比如手机.车站.天网等. ...

  4. vue+webpack工程环境搭建

    使用Vue-cli脚手架(属于vue全家桶)快速构建一个项目: [1]首先需要安装好node.js; [2]安装webpack,指令$npm install -g webpack; //如果之前有安装 ...

  5. SQL Server 存储过程 函数 和sql语句 区别

    存储过程与sql语句 存储过程的优点: 1.具有更好的性能   存储过程是预编译的,只在创建时进行编译,以后每次执行存储过程都不需再重新编译,   而一般 SQL 语句每执行一次就编译一次,因此使用存 ...

  6. activated钩子函数

    activated钩子函数是在组件被激活后的钩子函数,mounted是不保证组件在document中,也就是组件还没有被激活,因此可以理解为activated执行在mounted之后. 在跳转传值时, ...

  7. mysql 如果没有密码 就不能远程连接

    mysql 如果没有密码 就不能远程连接

  8. JS中的call()方法和apply()方法用法总结(挺好 转载下)

    最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1. 每个函数都包含两个非继承而来的方法 ...

  9. Natas30 Writeup(sql注入)

    Natas30: 本关是一个登录页面,查看源码,可以发现关键代码. if ('POST' eq request_method && param('username') &&am ...

  10. Spring Boot入门系列(八)整合定时任务Task,一秒搞定定时任务

    前面介绍了Spring Boot 中的整合Redis缓存已经如何实现数据缓存功能.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/categ ...