- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题:
window.addEventListener("visibilitychange", function(e) {
console.log(window.uidd)
window.uidd = window.uidd || (new Date).getTime() + Math.random()
console.log(window.uidd)
})
但是如果你第一次打开控制台,你会得到:
undefined
124124214124124.124
window.uidd // undefined
为什么最后一个字符串是undefined
?
最佳答案
我之所以必须回答这个问题,只是因为我无法将屏幕截图附加到评论中,但我没有看到这种行为。
window.uuid
window
上不存在变量.undefined
从注册它。visibilitychange
事件),并获得第二个 undefined
以及为 window.uuid
设置的值, 都是从监听器记录的。visibilitychange
事件,并让 uuid 记录两次。window.uuid
进入控制台返回全局 uuid 值。我怀疑混淆可能在于您附加事件监听器的方式。
编辑:
测试页如下:
<html>
<head>
<script>
window.addEventListener("visibilitychange", function(e) {
console.dir(window);
console.log(window.uidd)
window.uidd = window.uidd || (new Date).getTime() + Math.random()
console.log(window.uidd)
})
</script>
</head>
<body></body>
</html>
我确实看到了这种行为。您需要使用 this.uuid
访问该属性, 而不是 window.uuid
, 即使只是输入 window
将显示 .uuid
属性(property)。
奇怪的是,当我用这个静态赋值替换你的测试时:
window.addEventListener("visibilitychange", function(e) {
window.foo = window.foo || "bar";
})
它确实有效,我可以看到 window.foo
的期望值直接在控制台中。
我也很好奇,并且asked the Chrome team .如果那里的人没有直接回答,我会更新这个答案。
关于javascript - visibilitychange 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46413036/
我有一个问题: window.addEventListener("visibilitychange", function(e) { console.log(window.uidd) windo
visibilitychange 的 MDN 页面声明“当选项卡的内容变得可见或隐藏时,它被触发”。但是,当我运行以下代码片段时,我立即收到无限的警报链,因此它显然不断被触发。为什么会这样? func
在我的 React 应用程序中,我使用 visibilityChange 事件在登录用户聚焦选项卡时对其进行一些检查。 问题是,在我的仪表板 TableView 中,我总是跳到页面顶部并在返回选项卡(
当用户关闭浏览器时,我正在尝试保存一些统计信息,下面是代码 if (typeof document.hidden !== 'undefined') { // Opera 12.10 and F
我正在尝试创建自己的窗口类并在 QML 中使用它。在第一步中,我尝试以这种方式子类化 QQuickWindow: class TestWindow : public QQuickWindow { Q_
我想设置一个事件,以便在 WPF Canvas 控件上更改 Visibility 时运行。 canvas1.VisibleChanged += new EventHandler(canvas1_Vis
我的应用程序有多个 android web View ,在站点范围的 JS 中,我有: window.addEventListener('beforeunload', function() {cons
问题出在事件“visibilitychange”的行为上。 触发: - 当我切换到浏览器窗口内的不同选项卡时。 当我点击浏览器窗口的最小化/恢复按钮时。 (没关系) 未触发: - 当我使用 ALT+T
我有一个 html 页面使用 Canvas 绘图来渲染每一帧。当页面在 safari 中显示时,如果用户按下主页按钮,则不会调用“requestAnimationFrame”,并且页面上的动画会暂停,
我是一名优秀的程序员,十分优秀!