javascript - 当浏览器空闲且页面中有动态 iframe 时,JavaScript 检测浏览器不活动期
问题描述
这段代码可以很好地捕获浏览器的不活动状态,但我在页面中有 iframe,它动态包含在 javascript 代码中。我什至想考虑动态 iframe 中的鼠标移动和按键事件。什么样的额外代码可以解决这个问题?我不喜欢使用任何 jquery 浏览器空闲插件。
提前致谢!!。
var idleTime = 0;
$(document).ready(function () {
//Increment the idle time counter every minute.
var idleInterval = setInterval(timerIncrement, 60000); // 1 minute
//Zero the idle timer on mouse movement.
$(this).mousemove(function (e) {
idleTime = 0;
});
$(this).keypress(function (e) {
idleTime = 0;
});
});
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 19) { // 20 minutes
window.location.reload();
}
}
解决方案
这有效,但对于已经加载的 iframe,不适用于动态 iframe。如何使其适用于动态加载的 iframe。
$('iframe').contents().keypress(function(){console.log('iframe keypress event fired');});
$('iframe').contents().mousemove(function(){console.log('iframe mouse move event fired');});
推荐阅读
- python - 如何在python中将灰色背景更改为白色背景?
- python - python turtle 名称错误:未定义形状
- swift - 领域迁移 Swift
- rust - 如何使用 Serde 的 SeqDeserializer 将序列反序列化为自定义类型?
- javascript - Chartjs 条形图平均线
- c# - 分享转换器结果
- javascript - PHP 和 React.js - 存储
- c++ - 对任何类型的元素数组进行排序
- java - 构建颤振应用程序时出错:在尝试连接到 Kotlin 守护程序时遇到异常。任务 ':app:compileDebugKotlin' 执行失败
- python - 错误:以 10 为基数的 int() 的无效文字:“”