JS-BOM对象

一.概念

ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(浏览器对象模型)则无疑才是真正的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何的网页内容无关。多年来,缺少事实上的规范导致BOM既有意思又有问题,因为浏览器厂商会按照各自的想法随意去扩展它。于是,浏览器之间共有的对象就成为了事实上的标准。这些对象在浏览器中得以存在,很大程度上是由于他们提供了与浏览器的互操作型。W3C为了把浏览器中JavaScript最基本的部分标准化,已经将BOM的主要方面纳入了HTML5的规范当中。

二、window对象

BOM的核心对象是window,它表示浏览器的一个实例。window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象,因此有权访问parseInt()等方法。如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架的名称来访问相应的window对象。

1、window对象方法

1.1、系统对话框

浏览器通过(实际是window对象的方法)alert()、confirm()、prompt()方法可以调用系统对话框向用户显示消息。
a.消息框:alert, 常用。
alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框。
b.输入框:prompt,返回提示框中的值。
prompt() 方法用于显示可提示用户进行输入的对话框。
参数(可选):
第一个参数:要在对话框中显示的纯文本。
第二个参数:默认的输入文本。
c.确认框:confirm,返回 true/false.
confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。

this is a div

<button onclick="test_alert();">消息框</button>
<button onclick="test_prompt();">输入框</button>
<button onclick="test_comfirm();">确认框</button> 

<script type="text/javascript">
	// 消息框
	function test_alert() {
		alert('消息框!');
	}

	// 输入框
	function test_prompt() {
		var item = prompt('请输入年龄');  // item得到输入的值
		alert(item);
		alert(prompt('请输入年龄', 18));  // 将输入的值输出
	}
	
	/**
	 * 确认框
	 * 返回值:boolean(true|false)
	 */
	function test_comfirm() {
		var result = confirm('真的要改吗?');
		if (result) {
			var ele = document.getElementById("dv");
			ele.style.color = "red";
			ele.innerHTML = "<span>div is red</span>";
		} else {
			alert("没事别瞎点");
		}
	}
</script>

消息框:
在这里插入图片描述

1.2、打开窗口

window.open()方法既可以导航到一个特定的URL也可以用来打开一个新的窗口

<script type="text/javascript">
	function open_s() {
		window.open('http://www.sxwet.com', '_block');
		// window.open();  // 空白窗口
	}
</script>

1.3、关闭窗口

window.close():关闭窗口。
例:点击按钮关闭当前窗口。

1.4、时间函数

setTimeout(): 在指定的毫秒数后调用函数或计算表达式。通过返回的标识也可以clearTimeout(id)来清除指定函数的执行。

2、window对象属性

window对象的双重身份决定着,在该对象中既有着核心语法中的全局方法和属性,又有着和浏览器相关的属性和方法,以下的一些对象都是属于window对象的属性值。

三、history对象

history 对象是历史对象。包含用户(在浏览器窗口中)访问过的 URL。history 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
history对象的属性:length,返回浏览器历史列表中的 URL 数量。
history对象的方法:
back():加载 history 列表中的前一个 URL。
forward():加载历史列表中的下一个 URL。当页面第一次访问时,还没有下一个url。
go(number|URL): URL 参数使用的是要访问的 URL。而 number 参数使用的是要访问的 URL 在 History 的 URL 列表中的相对位置。go(-1),到上一个页面。

JS_BOM_history_a.html

A页面

	<a href="JS_BOM_history_b.html">进入B页面</a><br />
	
	<button type="button" onclick="window.history.forward();">前进至B页面</button>
</body>

JS_BOM_history_b.html

B页面

	<a href="JS_BOM_history_c.html">进入C页面</a><br />
	
	<button type="button" onclick="window.history.forward();">前进至C页面</button><br />
	
	<button type="button" onclick="window.history.back();">后退至A页面</button>
</body>

JS_BOM_history_c.html

C页面

	<button type="button" onclick="window.history.go(-1);">后退至B页面</button><br />
	<button type="button" onclick="window.history.go(-2);">后退至A页面</button>
</body>

四、location对象

location 对象是window对象之一,提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。也可通过 window.location 属性来访问。
location 对象的属性href:设置或返回完整的 URL
location 对象的方法
reload():重新加载当前文档。
replace():用新的文档替换当前文档。

<input type="button" name="" id="" value="shsxt官网" onclick="open_sxt();" />

<script type="text/javascript">
	function open_sxt() {
		// 用新的文档替换当前文档
		alert(window.location.href); // 获取完整的url
		window.location.href = "http://www.shsxt.com";
			
		// 用新的文档替换当前文档
		// window.location.replace("http://www.baidu.com");
	}
</script>

五、document对象

每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。Document 对象是 Window 对象的一部分,也可通过 window.document 属性对其进行访问。
document对象的body属性,提供对元素的直接访问,cookie属性,用来设置或返回与当前文档有关的所有cookie,write()方法,向文档写HTML表达式或JavaScript代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值