screen 与 location 对象的属性与方法
screen 对象
screen
对象提供了有关窗口显示的信息,常用来获取屏幕的宽度、高度以及色深等。下面是screen
对象的一些常用属性:
// 获取屏幕宽度(单位为像素)
screen.width;
// 获取屏幕高度(单位为像素)
screen.height;
// 获取屏幕色深(单位为bit)
screen.colorDepth;
// 获取屏幕可用宽度(单位为像素)
screen.availWidth;
// 获取屏幕可用高度(单位为像素)
screen.availHeight;
// 监控屏幕方向(横屏或竖屏)
screen.orientation.type;
在实际开发中,我们可以利用screen
对象的属性来适配不同尺寸的屏幕,以提升用户体验。例如,在移动端开发时,可以根据screen.width
和screen.height
来判断当前设备是手机还是平板,从而加载不同的样式文件。
此外,使用screen.orientation.type
可以监控屏幕方向的变化,当屏幕从竖屏切换到横屏时,可以相应地调整页面布局,避免内容显示不全的问题。
location 对象
location
对象提供了当前窗口中加载的文档的信息,以及通用的导航功能。下面是location
对象的一些常用属性和方法:
// 获取/设置当前URL的协议名
location.protocol;
// 获取/设置当前URL的端口号
location.port;
// 获取/设置当前URL的路径部分
location.pathname;
// 获取/设置当前URL的主机名
location.hostname;
// 获取/设置当前URL的hash值
location.hash;
// 获取当前URL的查询字符串
location.search;
// 获取/设置当前完整的URL
location.href;
// 重新加载当前文档
location.reload();
// 加载一个新的文档
location.assign(url);
// 用新的文档替换当前文档
location.replace(url);
在单页应用(SPA
)的开发中,location.hash
经常被用来实现页面的无刷新跳转。通过改变hash
值,可以在不重新加载页面的情况下,动态地更新页面内容,提升用户体验。
例如,可以在页面加载完成后,根据location.hash
的值来决定显示哪个组件:
window.addEventListener('hashchange', function () {
switch (location.hash) {
case '#home':
showHomePage();
break;
case '#about':
showAboutPage();
break;
case '#contact':
showContactPage();
break;
default:
showHomePage();
}
});
JavaScript-practise/BOM/hash at main · sumingcheng/JavaScript-practise