博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
15-BOM
阅读量:6959 次
发布时间:2019-06-27

本文共 1588 字,大约阅读时间需要 5 分钟。

BOM的介绍

JavaScript基础分为三个部分:

  • ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

  • DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

  • BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。

 

什么是BOM

BOM:Browser Object Model,浏览器对象模型。

BOM的结构图:

从上图也可以看出:

  • window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。

  • DOM是BOM的一部分。

window对象:

  • window对象是JavaScript中的顶级对象

  • 全局变量、自定义函数也是window对象的属性和方法。

  • window对象下的属性和方法调用时,可以省略window。

下面讲一下 BOM 的常见内置方法和内置对象

弹出系统对话框

比如说,alert(1)window.alert(1)的简写,因为它是window的子方法。

系统对话框有三种:

alert();    //不同浏览器中的外观是不一样的    confirm();  //兼容不好    prompt();   //不推荐使用

打开窗口、关闭窗口

1、打开窗口:

window.open(url,target)

参数解释:

  • url:要打开的地址。

  • target:新窗口的位置。可以是:_blank 、_self、 _parent 父框架。

            

location对象

window.location可以简写成location。location相当于浏览器地址栏,可以将url解析成独立的片段。

location对象的属性

  • href:跳转

  • hash 返回url中#后面的内容,包含#

  • host 主机名,包括端口

  • hostname 主机名

  • pathname url中的路径部分

  • protocol 协议 一般是http、https

  • search 查询字符串

 

location.href属性举例

举例1:点击盒子时,进行跳转。

smyhvae

举例2:5秒后自动跳转到百度

有时候,当我们访问一个不存在的网页时,会提示5秒后自动跳转到指定页面,此时就可以用到location。举例:

 

location对象的方法

location.reload():重新加载

setTimeout(function(){         //3秒之后让网页整个刷新    window.location.reload();                        },3000)

window.navigator 的一些属性可以获取客户端的一些信息。

  • userAgent:系统,浏览器)

  • platform:浏览器支持的系统,win/mac/linux

 例子:

console.log(navigator.userAgent);    console.log(navigator.platform);

history对象

1、后退:

  • history.back()

  • history.go(-1):0是刷新

2、前进:

  • history.forward()

  • history.go(1)

用的不多。因为浏览器中已经自带了这些功能的按钮:

转载于:https://www.cnblogs.com/bai-max/p/9134937.html

你可能感兴趣的文章
说一下PHP中die()和exit()区别
查看>>
js如何判断访问来源是来自搜索引擎(蜘蛛人)还是直接访问
查看>>
FM算法(一):算法理论
查看>>
Win8Metro(C#)数字图像处理--2.34直方图规定化
查看>>
后端接口的幂等性(转)
查看>>
深入理解递归
查看>>
Java面向对象编程:封装,继承,多态
查看>>
命令行下更好显示 postgresql 的查询结果
查看>>
用JAVA操作properties文件
查看>>
(转)STM32学习笔记(1):GPIO口的使用
查看>>
搜索引擎算法研究专题八:TrustRank算法
查看>>
N个鸡蛋放进M个篮子问题
查看>>
架构之美第八章-软件架构的含义
查看>>
(转)AppCan中调用系统浏览器打开网页
查看>>
ZBar与ZXing使用后感觉
查看>>
急!JDBC问题,发生通信错误。错误位置:Reply.fill()。消息:数据不足。 ERRORCODE=-4499, SQLSTATE=08001...
查看>>
Java中的DatagramPacket与DatagramSocket的初步(转)
查看>>
Linux命令行下创建纳入版本控制下的新目录
查看>>
【转】【Python】Python中的__init__.py与模块导入(from import 找不到模块的问题)
查看>>
Redis内存存储结构分析
查看>>