问题标签 [visibilitychange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3060 浏览

javascript - 使用javascript单击新标签时如何暂停视频?

我正在处理视频 HTML 标签,我想在新标签打开时暂停音频。请帮助解决这个问题。

0 投票
1 回答
506 浏览

javascript - 在 WebBrowser 控件中使用时 document.hidden 错误地为 false

我想检测一个窗口何时在 JavaScript 中最小化,所以我使用document.hidden. 在下面的代码段中,单击“开始”并通过单击最小化按钮、切换任务栏中的应用程序图标、使用Win+ Down Arrow、使用Win+D等来最小化窗口。

当窗口最小化时,您会看到“隐藏”出现在文本区域中。

那里没有问题。

但是,我在 VB6 中托管此 JS 代码。

我创建了一个简单的项目,其中包含一个带有WebBrowser控件和CommandButton. 我唯一的代码是这样的:

单击命令按钮将我带到同一页面:

在此处输入图像描述

在 VB6 中,这三种情况显示为“隐藏”:

  • 单击最小化按钮
  • Win+Down Arrow
  • Win+D

但不是,在这种情况下:

  • 切换任务栏中的应用程序图标

我还注意到"hidden"仅在一次最小化窗口时显示。如果再次最小化它,它将显示“可见”。

我猜这是 WebBrowser 控件如何与 JS 集成的错误?有没有人有任何解决方法?


我可能很快会将这个问题重新用于更广泛的问题,因为这与document.hidden错误的关系不大,而与没有与 JS 的Page VisibilityWebBrowser很好地集成有关。

我发现的一个更普遍的问题是,当在 VB6 中visibilitychange的控件托管的页面中运行时,处理程序不会触发WebBrowser,但在浏览器中完全可以正常工作:

0 投票
1 回答
496 浏览

debugging - Tizen Wearable Web Widget visibilityChange 和 Debug

我在使用 Tizen 可穿戴网络小部件时遇到了一些问题。

我刚刚使用 HTML + JS 创建了一个示例项目,并尝试更新生命周期中描述的事件的页面 -> 加载/可见性更改

示例代码可以在以下位置找到:https ://github.com/Ryccoo/widget-test/blob/master/widget/StockQuote/js/main.js

当我添加小部件时,我可以看到文本“something”-> 表示 onload 函数已成功调用。

但是,滑动到另一个小部件并返回不会触发所描述的 visibilityChange 事件。

当用户滚动到此小部件时,如何正确上传内容?

另一个问题是如何调试网络小部件?您不能运行调试以使用小部件交互式调试程序(仅适用于 Web 应用程序),当我想打印一些东西到控制台时,我只看到

Web 控制台日志记录 API(console.log、console.info、console.warn、console.error)已被禁用。要激活它,您应该使用调试模式启动项目。

如何在调试模式下启动小部件?

谢谢

0 投票
1 回答
870 浏览

android - 布局可见/消失时闪烁

有什么方法可以隐藏视图而不闪烁其上方视图?

我试图在下面隐藏一个视图MapView。一旦我将其可见性设置为GONE,就会MapView闪烁。由于我必须动态添加更多标记,因此无法保留MapViewand bottomViewin FrameLayout,因为这bottomView会将这些标记隐藏在小尺寸屏幕中。

布局:

输出:

闪烁

我也试过TranslationAnimation,但没有运气。它显示出比以前更多的灰色空间。

0 投票
0 回答
743 浏览

javascript - 浏览器关闭不会触发 safari 上的 visibilityChange

当用户关闭浏览器时,我正在尝试保存一些统计信息,下面是代码

上面的代码在 mozilla firefox、google chrome 中运行良好,但在 safari 中则不行。我在 Mac Os 上测试这个,Safari 版本是Version 12.1.1 (14607.2.6.1.1)

任何人都可以建议这是否是 safari 中的预期行为以及可以采取的解决方法。

谢谢。

0 投票
2 回答
2276 浏览

navigation - 文档可见性更改与窗口模糊/焦点,有什么区别,何时使用?

在 ECMAscript (=Javascript) 中,有两种方法可以检查用户是否离开您的页面。您可以在 上侦听“ visibilitychange”事件,document也可以在 上侦听“ blur”和“ focus”事件window。它们之间有区别吗?

0 投票
0 回答
201 浏览

javascript - 当用户锁定 ios 设备时,如何知道我的网站是隐藏的?

我想知道我的网站何时在 iOS 上隐藏。我尝试对事件使用事件侦听器visibilitychange

如果我切换标签,它会起作用。

但是如果我锁定设备或最小化浏览器它不起作用visibilitychange,设备解锁后会触发两次,一次是隐藏,一次是可见。

我也尝试过使用blurpagehide但它们也没有用。

谢谢

0 投票
1 回答
238 浏览

javascript - 试图让按钮出现在鼠标悬停上

我正在努力做到这一点,以便当我将鼠标悬停在此按钮所在的位置时,它会出现。

这是我的代码

html:

CSS:

javascript:

0 投票
0 回答
326 浏览

javascript - JavaScript/PHP:跟踪用户在网页上的视频观看时间?

我的客户提供了一个视频教程网站,教师和学生都可以在其中注册。应跟踪学生观看每个视频的视频时间,以便向教师提供反馈。该网站是使用纯 HTML/PHP/JS/MySQL 开发的。视频由视频托管商提供,没有提供特殊的 JavaScript-API。我知道没有办法确保有人真的在观看和理解视频的内容(除了提供考试/测验),所以“观看”是指结合以下技术事实来跟踪时间:

  • 浏览器窗口可见(未最小化/后台选项卡)
  • 视频正在运行(未暂停/停止)

由于视频的持续时间至少为 6 分钟,因此没有必要获得确切的秒数 - 一个近似值 +- 10 秒就足够了。我已经制定了以下方法,但我不知道是否有任何我还没有想到的主要缺点:一旦视频开始播放,每隔 10 秒就会触发一次间隔。如果视频的状态是“正在运行”并且 document.visibilityState 不是“隐藏”,则间隔会向数据库发出 ajax 请求,该请求会保存条目“user_id, video_id, datetime”。因此,cronjob 可以每天收集一次这些里程碑,并根据用户/视频计算总观看时间。当然,我必须确保这些条目之间的时间不超过某个值,在这种情况下,假设为 15 秒,

有谁知道更聪明和/或更安全的方法,或者您是否看到任何主要缺点

  • 可靠性
  • 功能(桌面/移动浏览器)
  • 性能(数据库?)

感谢您与我分享您的想法!

0 投票
3 回答
224 浏览

angular - 在 Angular 中,如何防止用户从当前选项卡更改?

我有一个考试应用程序,我们希望防止用户在考试期间更改标签或打开新标签作为安全措施。你能提出实现相同目标的方法吗?