简述window对象除 document以外的一些常用子对象,并描述其作用
这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。
screen 对象
screen 对象包含有关客户端显示屏幕的信息。通常用来获取屏幕的宽高和分辨率。
屏幕宽度: window.screen.width // 1792
屏幕高度: window.screen.height // 1120
分辨率: window.screen.pixelDepth // 30
history 对象
history对象记录了浏览器访问的历史 url,并且提供了一些路由的跳转方法。window.history 在浏览器中类似于管理路由栈的存在。
返回上一个路由地址(路由 pop): window.history.back();
前进到下一个已经记录的路由(路由 push): window.history.forward();
另外还提供了另一种路由的控制方式:
window.history.go(-1) // 相当于back
window.history.go(1) // 相当于forward
window.history.go(0)则会刷新当前页面。页面刷新后路由的堆栈信息依然存在,所以依然可以进行前进和后退操作。
路由堆栈长度: window.history.length
location 对象
location对象关注的是当前路由的信息。
获取 web 主机域名: location.hostname // 'juejin.cn'
获取当前页面的路径和文件名: location.pathname // '/editor/drafts/7056380618216570887'
获取web主机的端口: location.port 当我在掘金页面打印的时候,返回给我的是空字符串,原因是当前路由是以域名的形式存在的。
获取web协议: location.protocol // 'https'
通过 location 对象实现路由跳转:
window.location.href = 'https://www.baidu.com'
window.location.assign('https://www.baidu.com')
navigator 对象
navigator 对象包含有关浏览器的信息,常用于获取客户端浏览器和操作系统信息。
通过一组实例了解一下 navigator
<!DOCTYPE html>
<html>
<header>
<div id="example"></div>
</header>
<body>
</body>
</html>
<script>
txt = "<p>浏览器代号: " + navigator.appCodeName + "</p>";
txt+= "<p>浏览器名称: " + navigator.appName + "</p>";
txt+= "<p>浏览器版本: " + navigator.appVersion + "</p>";
txt+= "<p>启用Cookies: " + navigator.cookieEnabled + "</p>";
txt+= "<p>硬件平台: " + navigator.platform + "</p>";
txt+= "<p>用户代理: " + navigator.userAgent + "</p>";
txt+= "<p>用户代理语言: " + navigator.language + "</p>";
document.getElementById("example").innerHTML=txt;
</script>