Javascript内容整理——BOM

JavaScript BOM

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。


BOM(Browser Object Model (BOM))即浏览器对象模型

BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性,现代的浏览器已经(几乎)实现了 JavaScript 交互相同的方法和属性,因此它经常作为 BOM 的方法和属性被提到

BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window

BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分

常见的BOM对象:

window:代表整个浏览器窗口(window是BOM中的一个对象,并且是js中的顶级的对象)

Screen:代表用户的屏幕信息

Navigator :代表浏览器当前的信息,通过Navigator我们可以获取用户当前使用的是什么浏览器

Location: 代表浏览器当前的地址信息,通过Location我们可以获取或者设置当前的地址信息

History:代表浏览器的历史信息,通过History我们可以实现上一步/刷新/下一步操作


window对象

windows对象是JavaScript中的顶级对象,所有浏览器都支持 window 对象,它表示浏览器的窗口

所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员,在调用的时候可以省略window

全局变量是 window 对象的属性

全局函数是 window 对象的方法

甚至 HTML DOM 的 document 也是 window 对象的属性之一:

window.document.getElementById("header");

或者

document.getElementById("header");

window对象的方法

1、alert()

window.alert("Hello world!"); //显示带有一段消息和一个确认按钮的警告框

2、confirm()

window.confirm("Hellomegs");  //显示一个带有指定消息和OK及取消按钮的对话框

出现两个按钮:确定和取消

3、prompt()

window.prompt("content");  //用户输入内容,content为提示内容

4、open(pageURL,name,parameters)

pageURL:子窗口路径
name:子窗口句柄。(name声明了新窗口的名称,方便后期通过name对子窗口进行引用)
parameters :窗口参数(各参数用逗号分隔)

window.open(pageURL,name,parameters)  //打开一个新的浏览器窗口或查找一个已命名的窗口
width 窗口宽度 height 窗口高度
left 窗口X轴坐标 top 窗口Y轴坐标
toolbar 是否显示浏览器工具栏 menubar 是否显示菜单栏
scrollbars 是否显示滚动条 location 是否显示地址字段
status 是否显示添加状态栏

5、close()

window.close();  //关闭浏览器窗口

Window 尺寸

有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)

对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

  • window.innerWidth - 浏览器窗口的内部宽度
  • window.innerHeight - 浏览器窗口的内部高度

对于 Internet Explorer 8、7、6、5:

  • document.documentElement.clientHeight
  • document.documentElement.clientWidth

或者

  • document.body.clientHeight
  • document.body.clientWidth

实用的 JavaScript 方案(涵盖所有浏览器):

var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;

var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;

该例显示浏览器窗口的高度和宽度:(不包括工具栏/滚动条)


其他 Window 方法

一些其他方法:

window.open() - 打开新窗口

window.close() - 关闭当前窗口

window.moveTo() - 移动当前窗口

window.resizeTo() - 调整当前窗口的尺寸


Window Screen

包含有关客户端显示屏幕的信息

window.screen 对象在编写时可以省略 window

属性:

1、screen.availWidth

性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏

console.log("页面宽:"+screen.availWidth)  //返回可用的屏幕宽度

2、screen.availHeight

属性返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏

console.log("页面高:"+screen.availHeight)  //返回可用的屏幕高度

Window Location

window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面

属性:

location.herf 返回当前加载页面的完整URL
location.hash 返回URL中的hash(#号后 跟零或多个字符),如果不包含则返回空字符串
location.host 返回服务器名称和端口号
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回URL中指定的端口号,如果没有,返回空字符串
location.protocol 返回所使用的 web 协议(http:// 或 https://)
location.search 返回URL的查询字符串,这个字符串以问号开头

Window History

window.history 对象包含浏览器的历史

history.back() 回到历史记录的上一步
history.forward() 回到历史记录的下一步
history.go(-n) 回到历史记录的前n步
history.go(n) 回到历史记录的后n步

Window Navigator

window.navigator 对象包含有关访问者浏览器的信息

UserAgent:用来识别浏览器名称、版本、引擎 以及操作系统等信息的内容,可以判断设备的终端是移动还是PC

let agent = window.navigator.userAgent;
    if(/chrome/i.test(agent)){
        alert("谷歌");
    }else if(/firefox/i.test(agent)){
        alert("火狐");
    }else if(/msie/i.test(agent)){
        alert("低级IE浏览器");
    }else if("ActiveXObject" in window){
        alert("低级IE浏览器");
    }

定时器

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,这称之为计时事件。

超时调用:setTimeOut(code,millisec)

code:要调用的函数或要执行的JavaScript代码串

millisec:在执行代码前需等待的毫秒数

在指定的毫秒数后调用函数或计算表达式,setTimeout()只执行code一次

清除超时调用:clearTimeout(id_of_settimeout)

id_of_settimeout :由setTimeout()返回的ID值,该值标识要取消的延迟执行代码块

取消由setTimeout()方法设置的timeout

间歇调用:setInterval(code,millisec)

每隔指定的时间执行一次代码

单击开始计时按钮后,程序开始从 10 以秒倒计时

<body>
		<input type="button" value="倒计时开始10" id="btn" disabled />
		<script>
			var btn = document.getElementById("btn");
			var num = 10;
			var timerId = setInterval(function() {
				num--;
				btn.value = "到时器开始" + num;
				if (num == 0) {
					clearInterval(timerId);
					btn.disabled = false;
					btn.value = "可以点了";
				}
			}, 1000);
		</script>
	</body>

人生最可贵的事情,便是少年的迷茫。 ——三毛

原文地址:https://www.cnblogs.com/qimuz/p/12676532.html

时间: 2024-10-14 21:31:30

Javascript内容整理——BOM的相关文章

JavaScript HTML DOM,BOM

DOM DOM 是一个 W3C (万维网联盟) 标准. DOM 定义了用于访问文档的标准: "W3C 文档对象模型 (DOM) 是一个平台和与语言无关的界面, 允许程序和脚本动态访问和更新文档的内容.结构和样式. W3C DOM 标准分为3个不同的部分: 适用于所有文档类型的核心 DOM 标准模型 用于 xml 文档的 xml DOM 标准模型 html 文档的标准模型 通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素. HTML DOM (Document Obj

JavaScript:操作 BOM 和 DOM

JavaScript:操作 BOM 和 DOM 浏览器说明 由于JavaScript的出现就是为了能在浏览器中运行,所以,浏览器自然是JavaScript开发者必须要关注的. 目前主流的浏览器分这么几种: IE 6~11:国内用得最多的IE浏览器,历来对W3C标准支持差.从IE10开始支持ES6标准: Chrome:Google出品的基于Webkit内核浏览器,内置了非常强悍的JavaScript引擎——V8.由于Chrome一经安装就时刻保持自升级,所以不用管它的版本,最新版早就支持ES6了:

JavaScript内容梳理 示例之模态对话框 示例之全选和反选以及取消 示例之后台管理左侧菜单

1 <!DOCTYPE html> 2 <!--示例之模态对话框--> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>Title</title> 7 <style> 8 .hide{ 9 display: none; 10 } 11 .c1{ 12 position: fixed; 13 lef

Google C++ 风格指南内容整理

之前一直没有全面的看过Google C++风格指南,现在很多公司进行C++开发都要求按照Google C++风格.在这个网站 http://zh-google-styleguide.readthedocs.org/en/latest/contents/  有人已经把其翻译成中文.为了便于以后查看,下面的内容完全是来自于这个网站,只是把多个网页的内容整理放在了一起. 1.      头文件: 通常每一个.cc文件都有一个对应的.h文件.也有一些常见例外,如单元测试代码和只包含main()函数的.c

javascript 路线整理

前端开发很重要,编写脚本也不容易. 总结我以前的前端学习经历,基本是一团乱麻:css+javascript是在大三自学的,当时自己做课程设计,逼着自己在一个月之内,写了一个半成品的j2ee网站.当时,真有种:when you burn out, you would loose your enthusiasm. 之后,我花了很长时间才缓过来.但是,我的一丢丢的自信也是从那时积累起来的.当时,也只是遇到什么功能点,百度,google一下拿来就用,没有什么基本功.东拼西凑式地编写code,很乱. 后来

JavaScript 精髓整理篇(一)postby:http://zhutty.cnblogs.com

废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <JavaScript 精髓整理篇>将系统整理Javascript语言精要.欢迎们加入我信息栏中的qq群,我们可以一起探讨.qq群:164858883 精华不容错过: 随着nodejs的火爆,以及移动开发的热潮,js的地位已经火速上涨. JavaScript 精要可以从下面11个关键类型入手:Object.A

网页格式化排版代码,专用信息采集后的内容整理

public static string ClearHtml(string content) { Regex regex = new Regex(""); //首先把p标签的属性去掉,只留<p> regex = new Regex(@"<p.*?>", RegexOptions.IgnoreCase | RegexOptions.Singleline); content = regex.Replace(content, "<p

位运算相关内容整理

位运算相关内容整理 1) 负数 负数的右移:负数右移的话,由于要保持它是负数,所以负数的二进制的左边补1.如果一直右移的话,最后就就变成0xFFFFFFFF 即-1 如: -4>>1 为-2 :-4>>2为-1 负数的左移:跟正整数左移一样,右边补0.左移总是在低位补零,高位丢失,因而负数左移后可能会变成正数. int x = 0x8fff0000; cout << (x << 1); // 输出为536739840 cout << (-2 &l

python脱产4期内容整理NO.11

今天的内容整理共有5部分 一.命名关键字参数 二.函数对象 三.函数的嵌套 四.名称空间与作用域 五.闭包函数 一.命名关键字参数 命名关键字参数:在定义函数是,*与**之间的参数称为命名关键字参数           特点:在调用函数时,命名关键字参数必须按照key=value的形式传值           正常的函数形参排列(位置,关键字,*args,命名关键字,**kwargs) 二.函数对象 函数是第一类对象:指的是函数内存地址可以像一个变量值一样去使用 1.变量值可以被引用 2.变量值