したがって、jQuery にロード スクリプトがあります。
function load() {
$.ajax({
url: '/urltoload.php',
cache: false,
success: function(html){
//do something
}
}
を使用してsetInterval
、ユーザーがページにいないかどうかを確認するにはどうすればよいですか?
したがって、jQuery にロード スクリプトがあります。
function load() {
$.ajax({
url: '/urltoload.php',
cache: false,
success: function(html){
//do something
}
}
を使用してsetInterval
、ユーザーがページにいないかどうかを確認するにはどうすればよいですか?
私があなたの質問を正しく理解していれば、ユーザーがページに「いる」かどうか、いつページを離れるかを次のコードで確認できます。
$(document).ready(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
});
別の解決策は、もう少し「複雑」かもしれませんが、N 秒ごとにマウスの動き ( http://api.jquery.com/mousemove/#fn ) をチェックすることです。
クロスブラウジングの問題がある場合は、さまざまなブラウザーに適した回避策を提供するこの回答を確認できます: https://stackoverflow.com/a/1060034/1720344
UPDATE
タイムアウト関数の疑似コードは次のとおりです。
setTimeout(function() {
// Do something after 2 seconds
}, 2000);
あなたのコメントでは、サブ関数ではなくサブ関数を「回避」するのが最善だと思います$(document).ready()
(これまでにタイムアウトを行ったことはありませんがdocument.ready
、何が起こるかを試してみることができます;)-この関数は単純に呼び出されると思いますから N 秒後document.ready
)
2 秒のタイムアウトを使用すると、次のようなことができます (ただし、テストしていません)。
$(document).ready(setTimeout(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
}, 2000));
$(window).focus()
ブラウザがアクティブかどうかを確認できます。
$(window).focus(function(){
// interval here
});