用户空闲时的火灾事件,不适用于Firefox浏览器

时间:2015-10-08 02:09:45

标签: javascript jquery firefox

我有这个代码用于检查用户是否在页面中处于活动状态。但是一旦将光标留在页面中,就无法使用Firefox。似乎鼠标悬停仍然触发。但完全适用于Chrome。

idleTimer = null;
idleState = false;
idleWait = 2000;

(function ($) {
  $(document).ready(function () {
    $('*').bind('mousemove keydown scroll', function () {        
        clearTimeout(idleTimer);                    
        if (idleState == true) {                 
            // Reactivated event
            $("body").append("<p>Welcome Back.</p>");            
        }

        idleState = false;            
        idleTimer = setTimeout(function () {                 
            // Idle Event
            $("body").append("<p>You've been idle for " + idleWait/1000 + " seconds.</p>");
            idleState = true; }, idleWait);
        });

    $("body").trigger("mousemove");    
  });
}) (jQuery)

按照本教程链接:https://css-tricks.com/snippets/jquery/fire-event-when-user-is-idle/

请在Firefox浏览器上帮助解决此问题。 谢谢:))

1 个答案:

答案 0 :(得分:0)

<强>解决 我是用Ruby on Rails做的。 我把文件放在assets / javascripts目录中。 最后通过将它添加到application.js中的必需js来解决它:

//= require js_file

并且,删除jquery文档函数很重要,因为它会在Firefox中导致相同的错误。只将主要的js代码添加到文件中,它将自动加载。:

删除重要:     (function($){});     $(document).ready(function(){});

并且,在代码的底部添加如下:

$(document).ready(ready);
$(document).on("page:load", ready);

现在,Chrome和Firefox都运行良好。