javascript-之-BOM 浏览器对象模型( BOM 的核心--window)
2021-02-11 21:18
标签:角色 useragent 页面跳转 参数 文件名 return clear history 代码 BOM比DOM更大,它包含DOM window对象是浏览器的顶级对象,它具有双重角色。 以上内容全部由自己整理,如有问题欢迎纠正,一起讨论学习。 javascript-之-BOM 浏览器对象模型( BOM 的核心--window) 标签:角色 useragent 页面跳转 参数 文件名 return clear history 代码 原文地址:https://www.cnblogs.com/sunhuan-123/p/12732928.htmlBOM(Browser Object Model 浏览器对象模型)
BOM的概述
1、什么是BOM
console.log(window);
//我们可以直接在浏览器中console.log(window)查看各种window的属性和方法
window.a = 10;
console.log(a);
console.log(window.a)
// 所有的不带有前缀全局变量的时候,前面都可以带有window. JavaScript默认把window.这个代码给省略;
function foo(){
}
window.foo();
2、BOM的构成
window对象
(在调用的时候可以省略window。)浏览器的弹出层
这个弹出层是一个提示内容框,只有一个确定按钮,点击确定按钮以后,这个提示框就消失了
这个弹出层有一个输入框和两个按钮
,当你点击取消的时候,得到的是 null
,当你点击确定的时候得到的就是你输入的内容
这个弹出层有一个询问信息和两个按钮当你点击确定的时候,就会得到 true,当你点击取消的时候,就会得到 false// 这三个方法都会阻塞代码执行;
// alert("我是一个提示框");
// 以下两个有返回值;
// var res=confirm("我是一个询问框");
// console.log(res)//得到布尔值
// var res1=prompt("我是一个输入框");
// console.log(res1)//得到输入内容
window上的各种属性
注意:window下的各种属性或方法名都不要直接用来作为全局变量命,会冲突window下的子对象
1. 浏览器的地址信息 (location)
//js实现页面跳转
location.replace(‘http://www.baidu.com‘)
location.href = ‘http://www.baidu.com‘
window.open(‘http://www.baidu.com‘)
location.assign(‘http://www.baidu.com‘)
2.浏览器的版本信息(了解)(navigator)
下面一个新的属性将替代这些属性。//判断当前浏览器类型的代码:
function isBrowser() {
var userAgent = navigator.userAgent;
//微信内置浏览器
if(userAgent.match(/MicroMessenger/i) == ‘MicroMessenger‘) {
return "MicroMessenger";
}
//QQ内置浏览器
else if(userAgent.match(/QQ/i) == ‘QQ‘) {
return "QQ";
}
//Chrome
else if(userAgent.match(/Chrome/i) == ‘Chrome‘) {
return "Chrome";
}
//Opera
else if(userAgent.match(/Opera/i) == ‘Opera‘) {
return "Opera";
}
//Firefox
else if(userAgent.match(/Firefox/i) == ‘Firefox‘) {
return "Firefox";
}
//Safari
else if(userAgent.match(/Safari/i) == ‘Safari‘) {
return "Safari";
}
//IE
else if(!!window.ActiveXObject || "ActiveXObject" in window) {
return "IE";
}
else {
return "未定义:"+userAgent;
}
}
3. 浏览器的历史记录 (history)
4. 浏览器的屏幕 (screen)
5. 定时器
var i = 0
var timer = setInterval(function () {
console.log(i++)
// 判断终点要在定时器里面写,因为定时器每执行一次都要判断
if (i === 5) {
// 停止定时器,根据id来停止
clearInterval(timer)
}
}, 1000)
window的事件
1. onload事件: 页面内容加载完成(DOM结构,图片.....)后触发
//onload 当浏览器加载结束之后:
// 加载没有完成直接就获取了,会导致图片宽高获取失败;
// console.log(img.width,img.height);
window.onload = function(){
// 放在这个事件里就可以稳定的获取图片的高度;
console.log(img.width,img.height);
}
2. onscroll事件: 拖动浏览器的滚动条触发此事件。
window.onscroll = function(){
//兼容写法
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
// document.body; => 获取body元素;
// document.documentElement => 获取html元素;
console.log(scrollTop);
}
3. onresize事件:浏览器窗口缩放所触发此事件。
//onresize 事件会在窗口或框架被调整大小时发生。
window.onresize = function(){
console.log(1);
}
文章标题:javascript-之-BOM 浏览器对象模型( BOM 的核心--window)
文章链接:http://soscw.com/index.php/essay/54180.html