BOM核心API
前言
我觉得前端中最难的不是业务逻辑,而是API太多,知道的太少。
BOM是什么?
BOM是Browser Object Model的缩写,即浏览器对象模型。浏览器对象模型提供了可以与浏览器窗口进行互动的对象结构。
BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。
BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。
DOM和BOM?
1,BOM是浏览器对象模型,DOM是文档对象模型。
2,BOM关注的是浏览器本身的操作,DOM关注的是文档。
3,他们提供的API都包含在Window对象中。
4,DOM是由W3C推行的,BOM没有相关标准,不同浏览器定义有差别。
widow对象中BOM操作相关的四大属性
location
对浏览器地址栏,和URL的操作
reload():重新加载当前页面(刷新嘛)
assign(url):浏览器地址复上新的地址并载入
replace():同上
hash:获取当前url#后面的字符串,如果没有就返回空字符串
herf:指定地址栏的新地址并载入
hostname :返回web主机域名
pathname:返回当前页面路径和文件名
port:返回web主机的端口
protocol:返回使用的web协议(http:// 或 https://)
history
相当于操作浏览器前进后后退按钮
back:向后退一页
forward:向前进一页
go():根据参数做不同操作,0/空刷新页面,-1退一页,1前进一页,2前进两页
length:返回历史列表中的网址数。
screen
获取屏幕像宽高
availHeight:屏幕的高度像素减去系统部件高度之后的值
availWidth:屏幕的宽度像素减去系统部件宽度后的值
height:屏幕像素的高度
width:屏幕像素的宽度
navigator
浏览器信息查询
userAgent:返回由客户机发送服务器的userAgent。
appName:返回浏览器名称。
appVersion:返回浏览器平台和版本信息。
platform:返回运行浏览器的操作系统平台。
window中常用的浏览器相关操作
open(targetUrl,pageName,"height=400,width=400,top=10,left=10"):打开一张新的网页
close():关闭。
innerHeight:浏览器窗口的内部高度(兼容所有浏览器)—包含滚动条
innerWidth:浏览器窗口的内部宽度(兼容所有浏览器)
outerWidth :整个浏览器宽度
outerHeight :整个浏览器高度度
BOM核心API的更多相关文章
- 支持GPS的核心API
Android为GPS功能支持专门提供了一个LocationManager类,它的作用于TelephonyManager.AudioManager等服务类的作用相似,所有GPS定位相关的服务.对象都将 ...
- hibernate系列笔记(2)---Hibernate的核心API
Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...
- APP自动化框架LazyAndroid使用手册(3)--核心API介绍
作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...
- SDL 开发实战(二):SDL 2.0 核心 API 解析
在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码.但是可能大部分人还是读不太明白具体Hello Wol ...
- Spark2.0学习(三)--------核心API
Spark核心API----------------- [SparkContext] 连接到spark集群,入口点. [HadoopRDD] 读取hadoop上的数据, [MapPartitionsR ...
- 《Node.js高级编程》之Node 核心API基础
Node 核心API基础 第三章 加载模块 第四章 应用缓冲区 第五章 事件发射器模式简化事件绑定 第六章 使用定时器制定函数执行计划 第三章 加载模块 本章提要 加载模块 创建模块 使用node_m ...
- hibernate框架(2)---Hibernate的核心API
Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...
- hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等
核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...
- Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)
一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...
随机推荐
- com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '88888888' for key 'PRIMARY'
严重: Servlet.service() for servlet jsp threw exceptioncom.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityC ...
- Understanding JDBC Internals & Timeout Configuration
原版:http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration 中文 ...
- FastJson 输出值 首字母大小写问题
解决方案: 1. 如果你的项目由多个模块且为分布式部署, 则可考虑使用设置System.property 2. 一般只是极少数的代码出现此情况, 那么建议直接在你的单例Service初始化时, 在静态 ...
- 淘宝双十一页面(Flexible)demo
下面的代码是看了大漠 使用Flexible实现手淘H5页面的终端适配 做的一个demo. <!DOCTYPE html> <html lang="en" ng-a ...
- linux应用之bugfree的安装及配置
Bugfree3.0.4 Linux环境安装指南 bugfree系统安装的前提是,配置LAMP环境(apache+mysql+php),下面以centos6.3系统为例介绍bugfree3.0.4的安 ...
- mysql 优化 实现命中率100%
配置你的mysql配置文件:主要是配置[mysqld]后面的内容. 1,优化远程连接速度. 在[mysqld]下面添加skip-name-resolve skip-name-resolve 选项就能禁 ...
- Linux 中安装软件报缺少共享库文件的错误
linux 安装一些如软件 或者相关的模块时,经常报出缺少一些依赖包的 libxxx.so等的共享库文件 首先找到 该共享库文件 然后查看/etc/ld.so.conf 这个文件记录了编译时使用的动态 ...
- MySQL当月汇总 及负毛利汇总_20161027
#当月汇总 及负毛利汇总 SELECT e.ID,e.city AS 城市 ,f.当月销售总额,f.当月成本总额,f.当月毛利总额,f.当月优惠券总额,f.当月赠品总额,f.当月毛利总额-f.当月优惠 ...
- 关闭windows10自动更新
用windows10的小伙伴们应该都被windows10自动更新这个问题折磨过.那到底要这样禁止windows10的自动更新呢? 百度上有一篇文章写的非常好,并且有配套,大家只要根据步骤操作即可,本人 ...
- 响应式web设计,html5和css3实战(@author Ben Fraim)
重定向 //请求重定向简化写法 response.sendRedirect("/day09/adv.html"); 转发 request.getRequestDispatcher( ...