BOM
1.概述
- 概念:Browser object model,浏览器对象模型。它将浏览器的各个组成部分封装成对象。通过修改这些对象的属性,调用他们的方法,从而可以控制浏览器的行为。
- BOM对象的分类
1.window对象:表示浏览器中打开的窗口,同时window也是网页中的全局对象
2.Navigator对象:包含有关浏览器的信息,通过该对象识别不同的浏览器
3.Screen 对象:包含有关客户端的显示器的相关信息。
4.History 对象:包含用户(在当前浏览器窗口中)访问过的 URL,
只能操作浏览器向前或向后翻页
5.Location 对象:包含有关当前浏览器的地址栏信息。
2.window对象
window对象是浏览器中的全局对象,因此所有在全局作用
域中声明的变量、对象、函数都会变成window对象的属性
和方法
- window对象的创建
- window对象的常用方法
与弹出系统对话框框的方法:
1. alert方法:显示带有一段消息和确认按钮的警告框
2. conform方法:显示带有一段消息以及确认按钮和取消按钮的对话框
3. prompt方法:显示可提示用户输入的对话框
需要两个值作为参数:
1. 显示的提示文字
2. 文本框中的默认值
示例:prompt('你的年龄是?','18');
与关闭有关的方法:
1. close:关闭浏览器窗口。谁是调用者,就关闭哪个窗口
2. open:打开一个新的浏览器窗口,返回一个新的window对象
与定时器有关的方法
1. setTimeout:在指定的毫秒数后调用函数或者计算表达式
参数1:js代码或者方法对象
参数2:毫秒值
2. clearTimeout:取消由setTimeout设置的timeout
3. setInterval:按照指定的周期(毫秒计)来调用函数或者计算表达式
4. clearInterval:取消由setInterval设置的timeout
- window对象的常用属性
获取其他BOM对象,下面的BOM对象都是作为window对象的属性保存的
1. history
2. location
3. Navicator
4. Screen
例如获取history对象
var a = window.history;
获取DOM对象
例如document对象的获取:
console.log(window.document); //#document
元素节点的获取:
window.document.getElementById("id值");
- window对象的特点
1. window对象不需要创建可以直接使用。通过window.方法名()调用方法;
2. 另外,window引用可以省略,直接使用方法名();
案例:轮播图的实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图的实现,每隔三秒</title>
</head>
<body>
<img id = "image" src="../img/OIP-C (0).jpg" width="300" >
<script>
/*
1. 在页面上使用img标签展示图片
2. 定义一个方法修改图片对象的src属性的值
3. 定义一个定时器,每隔三秒调用方法一次
*/
var number = 0;
function fun() {
number++;
if (number > 2) {
number = 0;
}
// 获取img标签对象
var img = document.getElementById("image");
// 修改img元素的src属性
img.src = "../img/OIP-C (" + number + ").jpg";
}
// 定义定时器
setInterval(fun,3000);
</script>
</body>
</html>
3.Location对象
- location对象的获取方式
1. window.location
2. location(window对象可以省略)
- 方法
1. reload:重新加载当前文档(页面)
- 属性
1. href:设置或者返回当前页面的完整的URL地址
- 示例
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* Location
* - 该对象中封装了浏览器的地址栏的信息
*/
window.onload = function(){
//获取按钮对象
var btn = document.getElementById("btn");
btn.onclick = function(){
//如果直接打印location,则可以获取到地址栏的信息(当前页面的完整路径)
console.log(location);
/*
* 如果直接将location属性修改为一个完整的路径,或相对路径
* 则我们页面会自动跳转到该路径,并且会生成相应的历史记录
*/
location = "http://www.baidu.com";
//location = "01.BOM.html";
/*
* assign()
* - 用来跳转到其他的页面,作用和直接修改location一样
*/
//location.assign("http://www.baidu.com");
/*
* reload()
* - 用于重新加载当前页面,作用和刷新按钮一样
* - 如果在方法中传递一个true,作为参数,则会强制清空缓存刷新页面
*/
//location.reload(true);
/*
* replace()
* - 可以使用一个新的页面替换当前页面,调用完毕也会跳转页面
* 不会生成历史记录,不能使用回退按钮回退
*/
//location.replace("01.BOM.html");
};
};
</script>
</head>
<body>
<button id="btn">点我一下</button>
</body>
4.history对象
- History对象的获取
1.window.history
2. history
- 方法
1. back:加载history列表中的前一个URL,和浏览器的回退按钮一样
2. forward:加载history列表中的下一个URL,和浏览器的前进按钮一样
3. go: history列表中的某个具体URL,跳转到指定页面
1:表示向前跳转一个页面 相当于forward()
2:表示向前跳转两个页面
-1:表示向后跳转一个页面
-2:表示向后跳转两个页面
- 属性
length:返回当前窗口历史列表中的URL数量,不是整个浏览器中的
5.Navicator对象
Navicator对象代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器。一般我们使用Navicator对象的userAgent属性来判断浏览器的信息。
DOM
1.概述
- 概念:Document object model,文档对象模型。将标记语言文档的各个组成部分封装成对象。可以使用这些对象对标记语言文档进行CRUD的动态操作。
- 分类:W3C划分为三个不同的部分。
1. 核心DOM:
Document:文档对象
Element:元素对象
Attribute:属性对象
Text:文本对象
Comment:注释对象
2. XML DOM:针对XML文档的标准模型
3. HTML DOM:针对HTML文档的标准模型
2.Document对象
- document对象的获取
window.document(在HTML DOM模型中window.可以省略)
- 方法
1. document.getElementById("id值"):通过元素的id获取元素对象
2. getElementsByTagName: 根据元素名称获取元素对象们。返回值为一个数组
3. getElementsClassName:根据class属性值获取元素对象们,返回值为一个数组
4. getElementsByName:根据name属性值获取元素对象们
创建其他DOM对象的方法
1.createElement
2. createCommment
3. createTextNode :创建文本节点
4. createAttribute
- 属性
3.Element对象
- Element对象的获取:通过Document对象的createElement方法
- 方法
1. removeAttribute:删除属性
2. setAttribute:设置属性
- 属性
4.Node对象
-
特点:所有DOM对象都可以认为是一个节点
-
方法
-
属性
-
修改属性值
1. 明确获取的元素对象
2. 查看API文档,查找其中哪些属性可以设置
- 修改标签体内容
1. 获取元素对象
2. 通过innerHTML属性修改标签体内容