详细信息: -
在我们的项目中,我们需要实施一个功能,如果用户不活动5分钟,则需要将其注销。如果用户在5分钟内没有移动鼠标,我们需要将其视为不活动。
我们能够在所有普通页面中实现这一目标,但是在一个页面中遇到困难,在一个页面中,我们在页面中有一个iframe,并且iframe播放视频和其他SWF,MP4文件。在iframe内部,还有另一个框架充当内容的包装器。
在上页面中,我们无法跟踪鼠标的运动,因此无法检测到用户是否处于活动状态。
经过大量的研究,我们实施了代码,如果我们通过浏览器控制台运行,但是当我将其保存在页面上时不起作用。
有人从事类似功能还是知道与此相关的任何事物?如果有人可以帮助我完成此功能,那就太好了。
注意: - 也单击IFRAMES
iframe的来源从技术上讲是自己的文档(文档pecception?)。诀窍是聆听本文档中的鼠标事件。尽管我不允许使用相同的原始策略,但您总是可以尝试一下。
使用普通JS:
var iframeDocument = document.querySelector('iframe').contentDocument;
iframeDocument.addEventListener('mousemove', function (event) {
console.log(event.pageX, event.pageY);
});
使用jQuery:
$('iframe').contents().mousemove(function(e) {
console.log(e.pageX, e.pageY);
});
您可以通过将IFRAME文档中的所有事件派遣到父文档中。这使您有优势仅在所有事件中使用一个侦听器,无论它们是否来自<iframe>
内部。