BOM的概述:

bom 称为浏览器对象模型(bowser object model),也就意味他可以获取浏览器上的所有内容以及相关的操作。BOM缺乏规范的,存在共有对象来解决这个问题,但是共有对象也存在兼容问题(ie10以后)

window

概述: window是顶层对象 属于golbal对象。他是所有全局变量的父亲。

相关方法
打印方法
  1. // window //对象
  2. console.log(window); //window 对象 Window的构造函数
  3. //常用的弹窗方法及打印方法
  4. window.console.log('hello') //console.log() window可以省略的
  5. console.log('日志') //控制台 log日志 以日志的形式打印
  6. console.error('错误') //以错误的形式打印
  7. console.warn('警告') //以错误的形式打印
  8. console.debug('测试') //以错误的形式打印
  9. console.info('信息提示') //以错误的形式打印

弹窗方法

  1. //弹窗
  2. window.alert('hello') //弹提示窗
  3. var isTrue = confirm('你确认要删除吗') //交互框 true确认 false取消 返回
  4. console.log(isTrue);
  5. var str = prompt('请输入你的手机号') //输入框 他会有个输入框让你输入返回对应的你输入的内容 (string的内容)
  6. console.log(str);

打开关闭方法

  1. //打开 open 关闭 close
  2. // 第一个参数是url地址 第二个参数为title target(打开方式 _blank _self _parent) 第三个参数为设置的参数(窗口的高度 宽度等等)
  3. window.open('http://www.baidu.com','_blank','width=300,height=100,top=0,left=0')
  4. //  height=100 窗⼝⾼度;
  5. //   width=400 窗⼝宽度;
  6. //   top=0 窗⼝距离屏幕上⽅的象素值;
  7. //   left=0 窗⼝距离屏幕左侧的象素值;
  8. //   toolbar=no 是否显⽰⼯具栏,yes为显⽰;
  9. //   menubar,scrollbars 表⽰菜单栏和滚动栏。
  10. //   resizable=no 是否允许改变窗⼝⼤⼩,yes为允许;
  11. //   location=no 是否显⽰地址栏,yes为允许;
  12. //   status=no 是否显⽰状态栏内的信息(通常是⽂件已经打开),yes为允许;
  13. window.close() //关闭当前的窗口 (关闭浏览器只能有一个页面)

改变位置的方法

  1. //moveBy 一个是x轴的距离 y轴的距离
  2. window.moveBy(100,100) //X+100 Y+100
  3. //moveTo 一个x轴 一个y轴
  4. window.moveTo(200,200) //X=200 Y=200

改变大小的方法

  1. //改变对应的窗口大小
  2. window.resizeBy(200,200) //width+200 height+200
  3. //resizeTo
  4. window.resizeTo(200,200) //width=200 height=200

打印方法

  1. //print打印方法
  2. window.print()

聚焦和失焦的方法

  1. //focus 聚焦 blur 失去焦点
  2. window.focus()
  3. window.blur()

查找方法

  1. //find查找 ctrl+f
  2. window.find()

滚动栏位置改变

  1. //滚动栏位置改变 初始位置 x:0,y:0
  2. window.scrollBy(100,100) //原本的位置 x+100,y+100
  3. window.scrollTo(500,500) //到达位置 x=500 y=500 //回到顶部

location对象 (非常重要)

属性

  1. console.log(location.hash) //哈希 #后面带的值 *
  2. console.log(location.host) //主机 域名 ip地址+端口号
  3. console.log(location.hostname) //主机名 ip地址 (127.0.0.1表示本机地址和localhost是一样的)
  4. console.log(location.protocol) //协议 用于通信 (基于tcp/ip)http(明文传输) https(安全)(加密过)
  5. console.log(location.port) //端口号 1--65525 (1-100的端口电脑占用了)http默认的端口80 https默认端口443
  6. console.log(location.href) //链接的地址 也可以设置
  7. console.log(location.search); //?后面带的值 一般是get请求传输数据的时候 *
  8. console.log(location.origin); //跨域
  9. console.log(location.pathname); //路径名 获取的除了协议和ip地址加端口号后面的东西
方法

assign 跳转页面

  1. location.assign('http://www.baidu.com')

replace 替换页面

  1. location.replace('http://www.weibo.com')

reload 重新加载页面

  1. location.reload()
  2. //参数 boolean类型的值 true(从服务器加载 慢) false (从缓存中加载 快)

history对象 (重点)

属性

  • length 历史页面个数
  • state 状态存储的对象
  • scrollRestoration 滚动栏恢复

方法

forwad 前进

  1. function fn(){
  2. history.forward() //前进
  3. }

back 后退

  1. function fn1(){
  2. history.back() //后退
  3. }

go 去任意的历史页面

  1. function fn2(){
  2. history.go(-1) //去任意页面 0就是自己 小于0 后退 大于0前进
  3. }

pushState

  1. //spa 单页应用
  2. function fn3(){
  3. //添加state的值 数据 "" 地址(会产生跨域问题)
  4. history.pushState('hello','','./index.html') //会改地址 但是不会刷新 推一个历史页面到历史区 state设置进去
  5. }

replaceState

  1. function fn4(){
  2. //替换state
  3. history.replaceState('world','','/location对象讲解.html') //会改地址 但是不会刷新 在历史区直接修改当前这个历史页面 state设置进去
  4. }

screen 对象

属性

avaliHeight 可占用的最大高度
avaliWidth 可占用的最大宽度
avaliLeft 离屏幕左侧的距离
avaliTop 离屏幕上方的距离

navigator对象

属性

userAgent 用户浏览器设置信息

下面是BOM的一个思维导图

BOM的概述及方法的更多相关文章

  1. js-DOM ~ 04. BOM:浏览器对象模型window. 、定时器、在线用户、祝愿墙、BOM的内置方法内置对象

    multiple. select列表多选 触发事件后调用有参数的函数要先创建一个函数,然后在函数内调用执行函数 Array.from(伪数组):伪数组变为真数组 indexOf():查询字符的索引 a ...

  2. 解释BOM头和去掉方法

    http://www.thinkphp.cn/topic/2592.html 以上是叫你去掉bom头的,因为有些文件加载不出来就是window会以记事本的形式打开,然后默认给我们加了了bom头,有些文 ...

  3. Java基础知识强化82:Random类概述和方法使用

    1. Random类 public class Random extends Object implements Serializable: 此类的实例用于生成伪随机数流.此类使用48位种子. (1) ...

  4. DOM 和 BOM 的 对象 和方法

    DOM   对象 有 documet  event element  attlibute 方法  getElementById   getElementsBytagname  getElementsB ...

  5. dom&bom的起源,方法,内容,应用

    Document Object Model的历史可以追溯至1990年代后期微软与Netscape的"浏览器大战"(browser wars),双方为了在JavaScript与JSc ...

  6. BOM主要对象属性方法总结

    BOM window对象 浏览器实例,全局对象 1.窗口位置: screenTop,screenLeft(screenX,screenY):窗口相对于屏幕左边和上边的位置 moveTo(x,y):将窗 ...

  7. 【C# IO 操作 】详解去掉字符顺序标记(BOM)头的方法

    类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...

  8. Upstart概述引导方法事件驱动的任务和服务

    /*********************************************************************  * Author  : Samson  * Date   ...

  9. Java基础知识强化89:Date类之Data类概述及其方法

    1. Date类概述 类Date表示特定的瞬间,精确到毫秒 2. 构造方法 public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创 ...

  10. 一步步优化JVM一:概述、方法及需求

    现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求.由于各种各样的应用能够运行在现在JVM上面,所以大量的 ...

随机推荐

  1. 对VC中有关数据类型转换的整理

    原文地址:http://spaces.msn.com/wsycqyz/blog/cns!F27CB74CE9ADA6E7!152.trak 对VC中有关数据类型转换的整理   说明:本文纯粹是总结一下 ...

  2. windows服务包装程序

    有些程序想随windows启动而自动运行,这样部署为windows服务是最自然的选择,但是有些第三方的程序,没有提供windows 服务的部署方式,或者自己写的程序,每次都要为部署为windows服务 ...

  3. gauva cache

    guava 的cache比较好用.    用户使用的对象是LoadingCache, 通过CacheBuilder来创建,通过 CacheLoader来根据key加载数据.而且可以定时刷新缓存(有访问 ...

  4. svn 报 is not a working copy 错误

    当时提交代码 svn  报 is not a working copy ,上网查找问题  要我重新拉代码下来 然后放进修改的代码重新提交,我觉得很不合理,我看了下我提交的代码文件有80多个,我在想是否 ...

  5. Jmeter(三十九) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)

    ------------------------------------------------------------------- 转载自:北京-宏哥 https://www.cnblogs.co ...

  6. 封装ajax、获取上一页面传参的方法

    1.封装ajax var defaultUrl = 'http://192.168.1.1:3000/' function post_data(url,data,successfn,errorfn){ ...

  7. FTP替代传输方案的优异性体现在哪些方面?

    多年来,FTP一直是最常见的交换文件的方式,FTP-FTPS-SFTP似乎是FTP的不断迭代更新,但是究竟是技术更新导致FTP过时?还是它真的已经满足不了企业的需求了? 之前,大家选择FTP往往是因为 ...

  8. VUE学习-生命周期

    生命周期 函数 描述 beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用. created 在实例创建完成后被立即 ...

  9. ORACLE 数据库备份脚本(数据泵2-指定用户)

    #!/bin/bash export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #定义字符集RQ=`date +20%y-%m-%d` #创建数据泵目录directory, ...

  10. 杭电oj 求奇数的乘积

    #include <stdio.h> #include <stdlib.h> int main() { int i,n,a; int sum = 1; while(scanf( ...