前言

  我觉得前端中最难的不是业务逻辑,而是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的更多相关文章

  1. 支持GPS的核心API

    Android为GPS功能支持专门提供了一个LocationManager类,它的作用于TelephonyManager.AudioManager等服务类的作用相似,所有GPS定位相关的服务.对象都将 ...

  2. hibernate系列笔记(2)---Hibernate的核心API

    Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...

  3. APP自动化框架LazyAndroid使用手册(3)--核心API介绍

    作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...

  4. SDL 开发实战(二):SDL 2.0 核心 API 解析

    在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码.但是可能大部分人还是读不太明白具体Hello Wol ...

  5. Spark2.0学习(三)--------核心API

    Spark核心API----------------- [SparkContext] 连接到spark集群,入口点. [HadoopRDD] 读取hadoop上的数据, [MapPartitionsR ...

  6. 《Node.js高级编程》之Node 核心API基础

    Node 核心API基础 第三章 加载模块 第四章 应用缓冲区 第五章 事件发射器模式简化事件绑定 第六章 使用定时器制定函数执行计划 第三章 加载模块 本章提要 加载模块 创建模块 使用node_m ...

  7. hibernate框架(2)---Hibernate的核心API

    Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...

  8. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等

    核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...

  9. Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)

    一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...

随机推荐

  1. POJ - 2031 Building a Space Station 【PRIME】

    题目链接 http://poj.org/problem?id=2031 题意 给出N个球形的 个体 如果 两个个体 相互接触 或者 包含 那么 这两个个体之间就能够互相通达 现在给出若干个这样的个体 ...

  2. Android Studio第一次启动失败的解决办法

    Android Studio Android 开发环境 由于GFW的问题,安装后第一次启动会在显示Fetching android sdk component information对话框后,提示错误 ...

  3. uboot移植添加nfs支持

    手头6410开发板uboot(基于2011.06)其他功能包括ping和tftp都执行正常,唯独缺少nfs. 只需要在其配置文件(每个开发板文件通常名称不同,include/configs/*6410 ...

  4. 无法远程连接阿里云的Mysql

    问题描述:昨天使用阿里云安装了Mysql,无法远程连接,排除端口号错误.防火墙.Mysql权限问题后,最后发现是阿里云安全组规则限制问题: 解决方式: 1.访问阿里云控制台,实例-->管理 2. ...

  5. 父亲节感恩回馈PSD海报

    父亲节感恩回馈PSD素材免费下载海报适用于父亲节海报设计 http://www.huiyi8.com/psd/

  6. ffmpeg拼接mp4视频

    首先需要把mp4格式的文件转成ts格式.拼接好之后,再将ts封装格式转换回mp4. ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4to ...

  7. 时间序列数据库——索引用ES、聚合分析时加载数据用什么?docvalues的列存储貌似更优优势一些

    加载 如何利用索引和主存储,是一种两难的选择. 选择不使用索引,只使用主存储:除非查询的字段就是主存储的排序字段,否则就需要顺序扫描整个主存储. 选择使用索引,然后用找到的row id去主存储加载数据 ...

  8. UOJ_407_【IOI2018】狼人

    http://uoj.ac/problem/407 分析: 分别建立最小/最大kruskal重构树. 每次询问给出的两个点能走到的部分分别对应两棵树\(dfs\)序的一段区间. 转化成判断矩形中是否有 ...

  9. unbuntu下安装qq

    由于Wine QQ一直没更新版本导致目前版本报版本过低无法使用,暂时先上UK官网的国际版Wine QQ,虽然功能没那么新,但稳定能用: 下载: 下载地址:http://www.ubuntukylin. ...

  10. ACM学习历程——UVA127 "Accordian" Patience(栈, 链表)

    Description  ``Accordian'' Patience  You are to simulate the playing of games of ``Accordian'' patie ...