所有分类
  • 所有分类
  • 后端开发
网页可见性揭秘:HTML5新特性让页面漂亮不停

网页可见性揭秘:HTML5新特性让页面漂亮不停

本篇文章给大家带来的内容是关于html5里页面可见性的判断(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。新出现的document.hidden属性,它显示页面是否为用户当前观看的页面,值为ture或false。(

页面可见性的重要性

要说到网页可见性,这是搞网站建设时很重要的一个原则。你想想现在互联网飞速发展,我们对网站美观程度的要求自然也就高了,所以怎样让页面看着漂亮就显得至关重要了。HTML5它有好些新的特性来搞定这个问题,就是根据网页能否被看到然后自己自动做出相应的调整,致力于给用户提供更好的使用感受。

visibilitychange事件介绍

让我给你介绍下visibilitychange事件!这玩意儿能帮咱们时时刻刻监控网页是否隐藏起来了。你想想,以前打开新的标签页或者把浏览器窗口变小,页面就看不到了,但是visibilitychange能捕捉到这种变故,然后让开发员根据实际情况做相应处理。

document.hidden属性详解

来聊聊HTML5新增的那个叫文档.hidden的东西。用它可以知道现在我们看的是哪个网页。当网页在后台或者缩小到最小时,这个值为真的;而当我们正在观看时,它就会变成假的。所以开发者们通过这个特性很容易弄清楚页面是否在看。

document.visibilityState属性解析

别只知道document.hidden这个东西哦~还有个document.visibilityState,看起来有点儿复杂,但其实它只是给我们提供了网页显示或隐藏的信息。简单来说,三种可能的状态:visible就是说你正看着的网页;hidden那肯定是你没注意到的页面或者最小化了;然后是prerender,就是刷新网页时的状态啦(别以为没啥区别,其实很容易察觉滴!)。

网页可见性揭秘:HTML5新特性让页面漂亮不停

如何利用页面可见性进行优化

// 各种浏览器兼容 var hidden, state, visibilityChange; 
if (typeof document.hidden !== "undefined") { 
    hidden = "hidden";
    visibilityChange = "visibilitychange"; 
    state = "visibilityState"; 
} else if (typeof document.mozHidden !== "undefined") { 
    hidden = "mozHidden"; 
    visibilityChange = "mozvisibilitychange";
    state = "mozVisibilityState"; 
} else if (typeof document.msHidden !== "undefined") { 
    hidden = "msHidden"; 
    visibilityChange = "msvisibilitychange";
    state = "msVisibilityState"; 
} else if (typeof document.webkitHidden !== "undefined") { 
    hidden = "webkitHidden"; 
    visibilityChange = "webkitvisibilitychange";
    state = "webkitVisibilityState";
 } 
// 添加监听器,在title里显示状态变化
document.addEventListener(visibilityChange, function() { 
    document.title = document[state]; }, false);
// 初始化 
document.title = document[state];

咱们做网页开发时怎么应用这个方法?举个网页上的小例子,像动画、定时请求啥的这些功能挺占内存,但是没人看的话,岂不成了浪费电能么!所以,我们只要盯住visibilitychange事件,看看有没有必要开始启动那些功能,既省电还加速!

添加visibilitychange事件监听

想要实现这些功能挺简单的!只需要在你的代码中添加对‘visibilitychange’事件的处理,然后看下`document.hidden`或者`document.visibilityState是否改变’,就可以据此执行相应操作。这样子,无论你怎么切换浏览器标签页,都能根据当前的可视状态进行精确操作~

总结与展望

document.addEventListener("visibilitychange", function() {
  console.log( document.visibilityState );
});
document.addEventListener("msvisibilitychange", function() {
  console.log( document.msVisibilityState);
});
document.addEventListener("mozvisibilitychange", function() {
  console.log( document.mozVisibilityState);
});
document.addEventListener("webkitvisibilitychange", function() {
  console.log( document.webkitVisibilityState);
});

看了这个文章,你就会知道如何辨认那些看不到的网页啦~有了HTML5这项新功能,网站跑得飞快,使用感也超棒,还省下不少资源。别急,未来的Web技术一定还有更多好玩的东西等着我们发现。希望大家把所学知识用到实际中去,为我们粉丝提供更好的上网环境。

原文链接:https://www.icz.com/technicalinformation/web/2024/03/12421.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?