前言
bom(browser object model)是浏览器对象模型,是浏览器提供的javascript操作浏览器的api。bom提供了与网页无关的浏览器的功能对象,虽然没有正式的标准,但现代浏览器已经几乎实现了javascript交互性方面的相同方法和属性,因此常被认为是bom的方法和属性。本文将详细介绍bom操作中的常用命令,并通过代码案例进行解释。
1. 获取浏览器窗口尺寸
- 获取可视窗口宽度:
window.innerwidth - 获取可视窗口高度:
window.innerheight
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<script>
var m1 = window.innerwidth;
var m2 = window.innerheight;
console.log(m1);
console.log(m2);
</script>
</body>
</html>
2. 浏览器的弹出层
- 提示框:
window.alert('提示信息') - 询问框:
window.confirm('提示信息') - 输入框:
window.prompt('提示信息', '默认值')
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<script>
// window.alert('你好!')
// var res = window.confirm('你好吗?')
// console.log(res)
var res2 = window.prompt('你是哪个省的?');
console.log(res2);
</script>
</body>
</html>
3. 开启和关闭标签页
- 开启:
window.open('地址') - 关闭:
window.close()
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<button id="on">开启</button>
<button id="off">关闭</button>
<script>
var on = document.getelementbyid('on');
var off = document.getelementbyid('off');
on.onclick = function() {
window.open('https://www.baidu.com/');
}
off.onclick = function() {
window.close();
}
</script>
</body>
</html>
4. 浏览器常见事件
- 资源加载完毕:
window.onload = function() {} - 可视尺寸改变:
window.onresize = function() {} - 滚动条位置改变:
window.onscroll = function() {}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<img src="图片链接" alt="">
<script>
window.onload = function() {
console.log('资源已经加载完毕');
}
window.onresize = function() {
console.log('可视尺寸改变');
}
window.onscroll = function() {
console.log('滚动条位置改变');
}
</script>
</body>
</html>
5. 浏览器的历史记录操作
- 回退页面:
window.history.back() - 前进页面:
window.history.forward() - 跳转到指定页面:
window.history.go(n),其中n可以是负数(表示后退)或正数(表示前进)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<button onclick="goback()">回退</button>
<button onclick="goforward()">前进</button>
<button onclick="gotopage(-2)">回退两页</button>
<script>
function goback() {
window.history.back();
}
function goforward() {
window.history.forward();
}
function gotopage(n) {
window.history.go(n);
}
</script>
</body>
</html>
6. 浏览器卷去的尺寸和滚动
- 卷去的高度:
document.documentelement.scrolltop或window.scrolly - 卷去的宽度:
document.documentelement.scrollleft或window.scrollx - 滚动到指定位置:
window.scrollto(left, top)或window.scrollto({left: xx, top: yy, behavior: 'smooth'})
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
<style>
body {
width: auto;
height: 3000px;
}
button {
position: fixed;
bottom: 50px;
right: 50px;
}
</style>
</head>
<body>
<button id="go">传送</button>
<script>
var go = document.getelementbyid('go');
go.onclick = function() {
window.scrollto({left: 300, top: 400, behavior: "smooth"});
}
</script>
</body>
</html>
7. navigator对象
navigator对象包含有关浏览器的信息。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
</head>
<body>
<script>
console.log('浏览器品牌', navigator.appname);
console.log('浏览器版本', navigator.appversion);
console.log('用户代理', navigator.useragent);
console.log('操作系统', navigator.platform);
</script>
</body>
</html>总结
到此这篇关于前端bom操作常用命令详解及代码案例的文章就介绍到这了,更多相关前端bom常用操作内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论