利用HTML5 Page Visibility API实现页面可见性控制

重写后的标题为:利用html5 page visibility api实现页面可见性控制

早些时候,我们的浏览器不具有选项卡式浏览功能,但今天,当您查看所有可用的浏览器时,我们可以看到所有浏览器都提供该功能。作为一名程序员,我通常一次打开 10-15 个选项卡,有时这个数字会超过 25-30 个。

为什么使用此 API?

之前,无法确定哪个选项卡处于活动状态、哪个选项卡处于活动状态,但借助 HTML5 Visibility API,我们可以检测访问者是否正在查看我们的网页。

在本教程中,我们将了解如何处理 HTML5 Visibility API 以及一个简单的演示来发现页面的状态。在此演示中,我们将根据页面可见性状态更改文档标题。

立即学习“前端免费学习笔记(深入)”;

检查页面的可见性状态

随着此 API 的推出,我们迎来了两个新的文档属性,它们具有两种不同的功能。第一个是 document.visibilityState,第二个是 document.hidden

document.visibilityState 包含四个不同的值,如下所示:

隐藏:页面在任何屏幕上都不可见预渲染:页面在屏幕外加载并且对用户不可见

可见:页面可见

已卸载:页面即将卸载(用户正在离开当前页面)

document.hidden 是布尔属性,如果页面可见则设置为 false,如果页面隐藏则设置为 true。

现在,当我们的网站对用户隐藏时,我们可以控制网站的行为方式。

我们立刻就知道了我们的可用性属性,但现在是时候侦听该事件了,以便我们可以收到有关页面可见性的新情况的通知。这是通过 visibilitychange 事件完成的。我们将看到有关如何处理此事件的快速演示。

document.addEventListener('visibilitychange', function(event) {  if (!document.hidden) {    // The page is visible.  } else {   // The page is hidden.   }});

此代码只是利用此事件并发现网页当前状态的基本实例。但要让您知道,这些属性和方法都应该使用供应商前缀,因为这些事件和属性在某些浏览器中是供应商前缀的。现在我们将以跨浏览器的方式看到相同的代码:

先见AI 先见AI

数据为基,先见未见

先见AI 95 查看详情 先见AI

// Get Browser-Specifc Prefixfunction getBrowserPrefix() {    // Check for the unprefixed property.  if ('hidden' in document) {    return null;  }  // All the possible prefixes.  var browserPrefixes = ['moz', 'ms', 'o', 'webkit'];  for (var i = 0; i < browserPrefixes.length; i++) {    var prefix = browserPrefixes[i] + 'Hidden';    if (prefix in document) {      return browserPrefixes[i];    }  }  // The API is not supported in browser.  return null;}// Get Browser Specific Hidden Propertyfunction hiddenProperty(prefix) {  if (prefix) {    return prefix + 'Hidden';  } else {    return 'hidden';  }}// Get Browser Specific Visibility Statefunction visibilityState(prefix) {  if (prefix) {    return prefix + 'VisibilityState';  } else {    return 'visibilityState';  }}// Get Browser Specific Eventfunction visibilityEvent(prefix) {  if (prefix) {    return prefix + 'visibilitychange';  } else {    return 'visibilitychange';  }}

我们拥有所有浏览器前缀属性,并且事件已准备好应用。现在我们将相应地更改之前的代码。

// Get Browser Prefixvar prefix = getBrowserPrefix();var hidden = hiddenProperty(prefix);var visibilityState = visibilityState(prefix);var visibilityEvent = visibilityEvent(prefix);document.addEventListener(visibilityEvent, function(event) {  if (!document[hidden]) {    // The page is visible.  } else {   // The page is hidden.   }});

我们可以在哪里使用此 API?

我们可以考虑使用此 API 在许多不同的场景中。

假设您在仪表板上,页面正在定期(例如两分钟)轮询某些 RSS 提要或 API 的详细信息。因此,如果页面对用户不可见(即用户实际上并未查看页面),我们可以限制对 RSS 提要或 API 的调用。用于图像滑块。我们可以在页面隐藏时限制滑块图像的移动。

以类似的方式,我们可以仅在页面对用户隐藏时显示 HTML 通知。

到目前为止,我们已经看到了使用 HTML5 页面可见性 API 的代码,是时候立即采取一些行动了。

演示

演示 1:该演示展示了如何使用页面可见性 API 来更改页面标题。查看演示演示 2:该演示演示了如何在页面处于非活动状态时限制从服务器轮询数据。

在此演示中,我们将研究如何限制轮询服务器以获取最新信息,但仅限于用户正在查看页面时。我假设 jQuery 已经包含在您的页面中。这里我们将仅增加计数,但这可以替换为真实的服务器轮询。

HTML

0

JavaScript

    // Get Browser Prefixvar prefix = getBrowserPrefix();var hidden = hiddenProperty(prefix);var visibilityState = visibilityState(prefix);var visibilityEvent = visibilityEvent(prefix);var timer = null;function increaseVal() {var newVal = parseInt($('#valueContainer').text()) + parseInt(1);$('#valueContainer').text(newVal);document.title = newVal + ': Running'; timer = setTimeout(function() {increaseVal();        }, 1);}// Visibility Change document.addEventListener(visibilityEvent, function(event) {  if (document[hidden]) {  clearTimeout(timer);  var val = parseInt($('#valueContainer').text());  document.title = val + ': Pause';   } else {  increaseVal();    }});increaseVal();

演示视图

浏览器支持

如果您想查看浏览器对此 API 的支持,那么我建议查看我可以使用吗?。但要以编程方式查找浏览器支持,我建议阅读本文来检测对各种 HTML5 功能的支持。到目前为止,我们在几乎所有主要和最新的浏览器中都对该 API 提供了很好的支持。

结论

我想说,我们有一个非常好的 API,它只包含两个属性和一个事件。这样,它可以轻松地与您现有的应用程序集成,这可能会对您的用户体验产生积极影响。最终,现在我们可以控制当我们的网站对用户隐藏时我们的网站的行为方式。

以上就是利用HTML5 Page Visibility API实现页面可见性控制的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/533604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
idea怎么运行调试配置
上一篇 2025年11月9日 11:50:15
飞越琼州海峡!徐闻—海口的无人机跨海生物样本运输航线正式启用
下一篇 2025年11月9日 11:50:19

相关推荐

  • python常见的流程控制结构有哪几种

    python常见的流程控制结构有三种,分别是顺序结构、选择结构和循环结构等。详细介绍:1、顺序结构,这是程序中最简单的结构,按照代码的先后顺序,从上到下依次执行;2、选择结构,这种结构可以根据一定的条件判断,选择执行不同的代码块,在Python中,通常使用“if-elif-else”语句来实现选择结…

    2025年12月13日
    000
  • pycharm如何安装模块

    pycharm如何安装模块pycharm如何安装模块pycharm如何安装模块pycharm如何安装模块

    pycharm安装模块有“直接法”和“间接法”两种:1、直接法,打开pycharm“file-settings-Project:xxx-Project interpeter”;2、间接法,在python中pip配置清华源,然后电脑桌面按下win+R 键入cmd 再键入第三方模块安装相应代码加上参数参…

    2025年12月13日 用户投稿
    100
  • pycharm如何配置anaconda

    pycharm如何配置anacondapycharm如何配置anacondapycharm如何配置anacondapycharm如何配置anaconda

    pycharm配置anaconda的步骤为:1、新建project;2、手动更改Python Interpreter;3、配置环境变量,重启pycharm,Apply应用即可。 本教程操作系统:Windows10系统、PyCharm 2023.3版本、Dell G3电脑。 pycharm配置anac…

    2025年12月13日 用户投稿
    100
  • pycharm快捷键如何设置

    在PyCharm中设置快捷键,可以按照以下步骤进行操作:1、打开PyCharm;2、转到顶部菜单栏中的”File”;3、选择”Settings”;4、找到并点击”Keymap”;5、右侧的搜索框中输入要设置快捷键的操作或命令的名…

    2025年12月13日
    000
  • 怎么查看pip版本

    查看pip版本有“pip –version命令”、“pip show命令”、“pip list命令”和“Python代码中查看”四种方法:1、“pip –version”,输出当前pip版本以及所在Python的路径信息;2、“pip show package_name”,显…

    2025年12月13日
    000
  • pycharm怎么新建项目

    pycharm怎么新建项目pycharm怎么新建项目pycharm怎么新建项目pycharm怎么新建项目

    pycharm新建项目的步骤为:1、点击创建工程;2、选择存放工程的文件夹并写好工程名字;3、选择解释器;4、找到安装anaconda的位置,选择python.exe点击ok;5、再点击Conda环境;6、找到安装anaconda的位置,选择python.exe点击ok;7、勾选“make avai…

    2025年12月13日 用户投稿
    000
  • pycharm字体大小怎么设置

    pycharm字体大小的设置有“使用设置菜单”、“使用编辑器右下角的缩放控制”和“使用配置文件修改”三种方法:1、打开PyCharm并选择“File”,选择“Settings”选项,展开“Editor”选项,然后选择“Font”,选择想要的字体大小并保存;2、在PyCharm编辑器的右下角,找到缩放…

    2025年12月13日
    000
  • pycharm连接服务器教程

    pycharm连接服务器教程pycharm连接服务器教程pycharm连接服务器教程pycharm连接服务器教程

    pycharm连接服务器有“操作步骤”、“连接步骤”和“代码运行”三个步骤:1、依次选择“setting”->“Project:…”->“Python Interpreter”下拉选择创建的编译环境;2、依次点击“Tools”->“Start SSH Session”,…

    2025年12月13日 用户投稿
    100
  • pycharm激活教程

    pycharm激活教程:1、访问JetBrains官网,购买PyCharm的许可证,获得激活码;2、在PyCharm的欢迎界面上,选择”Activate”选项;3、在激活界面上,输入你的激活码,并点击”Activate”按钮;4、显示激活成功的提示信息…

    2025年12月13日
    100
  • pycharm怎么替换快捷键

    替换PyCharm中的快捷键,可以按照以下步骤进行操作:1、打开PyCharm,点击顶部菜单栏的 “File”;2、选择 “Settings”;3、展开 “Keymap”选项;;4、左侧面板中,选择要更改快捷键的特定功能;5、右…

    2025年12月13日
    000
  • pycharm环境变量配置教程

    pycharm环境变量配置教程pycharm环境变量配置教程pycharm环境变量配置教程pycharm环境变量配置教程

    pycharm环境变量配置教程:1、复制pycharm安装目录;2、打开环境变量设置页面;3、在系统变量的path中添加pycharm的安装路径地址,保存即可。 本教程操作系统:Windows10系统、PyCharm 2023.3版本、Dell G3电脑。 pycharm环境变量配置的教程如下: 1…

    2025年12月13日 用户投稿
    100
  • pycharm怎么设置python环境

    pycharm怎么设置python环境pycharm怎么设置python环境pycharm怎么设置python环境pycharm怎么设置python环境

    pycharm设置python环境的步骤如下:1、打开软件,依次点击“File”→“Settings”→“Project”→“Project Interpreter”进入配置Python环境的界面;2、点击小齿轮,在弹出的选项中点击“Show All”,然后在弹出的窗口中点击“+”号,进入配置页面;…

    2025年12月13日 用户投稿
    100
  • pycharm如何自动换行

    pycharm设置自动换行的步骤为:1、打开pycharm,选择“file”;2、选择“Setting“选项;3、依次点击Editor->General->Use soft wraps in editor;4、设置”soft-wrap files“值为“*.md; *.txt; *.rs…

    2025年12月13日
    000
  • pycharm怎么修改背景颜色

    pycharm可以通过修改编辑器主题、自定义主题和安装插件来修改背景颜色。详细介绍:1、修改编辑器主题,打开PyCharm并进入”File”菜单,选择”Settings”选项,打开设置对话框,在对话框左侧的列表中,选择”Editor&#82…

    2025年12月13日
    000
  • pycharm常用快捷键有哪些

    pycharm常用快捷键有:1、Ctrl + C / Ctrl + V,复制和粘贴选定的文本或代码块;2、Ctrl + X,剪切选定的文本或代码块;3、Ctrl + Z,撤销最后的操作;4、Ctrl + Y,重做最后的撤销操作;5、Ctrl + D,复制当前行或选定的代码块;6、Ctrl + W,逐…

    2025年12月13日
    000
  • python回调函数是什么

    python回调函数是指将一个函数作为参数传递给另一个函数,并在特定事件发生时由另一个函数调用的函数。回调函数通常用于异步编程、事件驱动编程和处理大量数据时的回调机制。其应用场景如下:1、事件处理;2、异步编程;3、迭代器和生成器。 本教程操作系统:windows10系统、Python3.11.4版…

    2025年12月13日
    000
  • pycharm怎么加入库

    加入步骤:1、打开PyCharm并进入您的项目;2、在PyCharm的底部状态栏中,点击“Terminal”图标,打开终端窗口;3、在终端窗口中,使用pip命令来安装您需要的库;4、安装完成后,在PyCharm中编写代码并导入所需的库即可。 本教程操作系统:windows10系统、Python3.1…

    2025年12月13日
    000
  • pycharm怎么创建新项目

    pycharm怎么创建新项目pycharm怎么创建新项目pycharm怎么创建新项目pycharm怎么创建新项目

    pycharm创建新项目的步骤:1、打开PyCharm选择“新建项目”;2、点击左侧的第一个选项,然后在右上角的地方将文件夹图标进行点击;3、根据自己的要求来选择一个文件的存放位置;4、点击“create”按钮进入到创建项目的编辑页面中;5、编辑好自己的项目代码,点击左侧新建项目的名称,然后选择“重…

    2025年12月13日 用户投稿
    100
  • pycharm怎么设置解释器

    pycharm设置解释器的步骤:1、打开PyCharm并创建项目;2、打开项目设置;3、选择解释器配置页面;4、配置解释器。详细介绍:1、1、打开PyCharm并创建项目,打开PyCharm IDE,并在欢迎界面或菜单中选择“Create New Project”创建一个新项目,或者打开现有项目;2…

    2025年12月13日
    000
  • 怎么安装pycharm

    安装pycharm的步骤:1、下载PyCharm;2、安装PyCharm;3、创建桌面快捷方式;4、等待安装完成;5、打开PyCharm;6、配置PyCharm;7、导入项目;8、开始使用。详细介绍:1、下载PyCharm,前往PyCharm官网,根据自己电脑的操作系统选择合适的安装包下载;2、安装…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信