问题标签 [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.
javascript - 使用javascript单击新标签时如何暂停视频?
我正在处理视频 HTML 标签,我想在新标签打开时暂停音频。请帮助解决这个问题。
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
,但在浏览器中完全可以正常工作:
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)已被禁用。要激活它,您应该使用调试模式启动项目。
如何在调试模式下启动小部件?
谢谢
javascript - 浏览器关闭不会触发 safari 上的 visibilityChange
当用户关闭浏览器时,我正在尝试保存一些统计信息,下面是代码
上面的代码在 mozilla firefox、google chrome 中运行良好,但在 safari 中则不行。我在 Mac Os 上测试这个,Safari 版本是Version 12.1.1 (14607.2.6.1.1)
任何人都可以建议这是否是 safari 中的预期行为以及可以采取的解决方法。
谢谢。
navigation - 文档可见性更改与窗口模糊/焦点,有什么区别,何时使用?
在 ECMAscript (=Javascript) 中,有两种方法可以检查用户是否离开您的页面。您可以在 上侦听“ visibilitychange
”事件,document
也可以在 上侦听“ blur
”和“ focus
”事件window
。它们之间有区别吗?
javascript - 当用户锁定 ios 设备时,如何知道我的网站是隐藏的?
我想知道我的网站何时在 iOS 上隐藏。我尝试对事件使用事件侦听器visibilitychange
:
如果我切换标签,它会起作用。
但是如果我锁定设备或最小化浏览器它不起作用visibilitychange
,设备解锁后会触发两次,一次是隐藏,一次是可见。
我也尝试过使用blur
,pagehide
但它们也没有用。
谢谢
javascript - 试图让按钮出现在鼠标悬停上
我正在努力做到这一点,以便当我将鼠标悬停在此按钮所在的位置时,它会出现。
这是我的代码
html:
CSS:
javascript:
javascript - JavaScript/PHP:跟踪用户在网页上的视频观看时间?
我的客户提供了一个视频教程网站,教师和学生都可以在其中注册。应跟踪学生观看每个视频的视频时间,以便向教师提供反馈。该网站是使用纯 HTML/PHP/JS/MySQL 开发的。视频由视频托管商提供,没有提供特殊的 JavaScript-API。我知道没有办法确保有人真的在观看和理解视频的内容(除了提供考试/测验),所以“观看”是指结合以下技术事实来跟踪时间:
- 浏览器窗口可见(未最小化/后台选项卡)
- 视频正在运行(未暂停/停止)
由于视频的持续时间至少为 6 分钟,因此没有必要获得确切的秒数 - 一个近似值 +- 10 秒就足够了。我已经制定了以下方法,但我不知道是否有任何我还没有想到的主要缺点:一旦视频开始播放,每隔 10 秒就会触发一次间隔。如果视频的状态是“正在运行”并且 document.visibilityState 不是“隐藏”,则间隔会向数据库发出 ajax 请求,该请求会保存条目“user_id, video_id, datetime”。因此,cronjob 可以每天收集一次这些里程碑,并根据用户/视频计算总观看时间。当然,我必须确保这些条目之间的时间不超过某个值,在这种情况下,假设为 15 秒,
有谁知道更聪明和/或更安全的方法,或者您是否看到任何主要缺点
- 可靠性
- 功能(桌面/移动浏览器)
- 性能(数据库?)
感谢您与我分享您的想法!
angular - 在 Angular 中,如何防止用户从当前选项卡更改?
我有一个考试应用程序,我们希望防止用户在考试期间更改标签或打开新标签作为安全措施。你能提出实现相同目标的方法吗?