0

ユーザーがJavaScriptとYUI3でアイドル状態であるかどうかを検出するで、ブラウザーでユーザーのアイドル状態を検出することで回避できる解決策を見つけました。

FireFoxでは正常に機能しましたが、Chrome、Safariでは機能しない場合がありました。mousemoveイベントは、これらのブラウザーで常に呼び出されていました。

代わりに他の解決策がある人はいますか?

4

1 に答える 1

0

私は今それの解決策を見つけました。idle-timer.jsで、follow1/フォローコードを検索して更新しました

var idle    = false,        //indicates if the user is idle
        tId     = -1,           //timeout ID
        enabled = false,        //indicates if the idle timer is enabled
        timeout = 30000;        //the amount of time (ms) before the user is considered idle

上記の次の行に2つの下の行を追加します

prevMousePos = { x: -1, y: -1 };
        currentMousePos = { x: -1, y: -1 };

コードが機能しなかった場合は、event.screenX、event.screenYを試してみてください。

2/この行を置き換えます

clearTimeout(tId);

if(e.type == 'mousemove'){
            currentMousePos.x = event.pageX;
            currentMousePos.y = event.pageY;
            if(currentMousePos == prevMousePos){
                enabled = false;
            }
            else{
                prevMousePos = currentMousePos;
                clearTimeout(tId);
            }
        }
        else if(e.type == 'mousemove'){
            clearTimeout(tId);
        }

    else if(e.type == 'keydown'){
        clearTimeout(tId);
    }
于 2013-03-07T03:32:34.580 に答える