[JQUERY] 브라우저 / 탭이 활성화되어 있는지 확인하는 방법 [중복]
JQUERY브라우저 / 탭이 활성화되어 있는지 확인하는 방법 [중복]
해결법
-
1.당신은 윈도우의 초점 흐림 이벤트를 사용합니다 :
당신은 윈도우의 초점 흐림 이벤트를 사용합니다 :
var interval_id; $(window).focus(function() { if (!interval_id) interval_id = setInterval(hard_work, 1000); }); $(window).blur(function() { clearInterval(interval_id); interval_id = 0; });
사용의 jQuery 쉽게 내 댓글 "더블 화재"의 발행 및 체류에 대답 :
$(window).on("blur focus", function(e) { var prevType = $(this).data("prevType"); if (prevType != e.type) { // reduce double fire issues switch (e.type) { case "blur": // do work break; case "focus": // do work break; } } $(this).data("prevType", e.type); })
작업을 보여주는 예제 코드를 보려면 클릭 (JSFiddle)
-
2.리처드 SIMOES뿐만 아니라 당신은 또한 페이지 가시성 API를 사용하여 응답합니다.
리처드 SIMOES뿐만 아니라 당신은 또한 페이지 가시성 API를 사용하여 응답합니다.
if (!document.hidden) { // do what you need }
-
3.나는 window.onfocus 및 window.onblur 이벤트 플래그를 설정하려고합니다.
나는 window.onfocus 및 window.onblur 이벤트 플래그를 설정하려고합니다.
다음 코드는 앞뒤로 탭 사이의 콘솔 및 이동을 열고, 파이어 폭스, 사파리와 크롬에서 테스트되었습니다 :
var isTabActive; window.onfocus = function () { isTabActive = true; }; window.onblur = function () { isTabActive = false; }; // test setInterval(function () { console.log(window.isTabActive ? 'active' : 'inactive'); }, 1000);
여기를보십시오.
-
4.jQuery를 사용하여 :
jQuery를 사용하여 :
$(function() { window.isActive = true; $(window).focus(function() { this.isActive = true; }); $(window).blur(function() { this.isActive = false; }); showIsActive(); }); function showIsActive() { console.log(window.isActive) window.setTimeout("showIsActive()", 2000); } function doWork() { if (window.isActive) { /* do CPU-intensive stuff */} }
-
5.(rockacola의 제외) 여기에 모든 예제는 사용자가 물리적으로 초점을 정의하는 창을 클릭해야합니다. 이 때문에 .hover (), 적합하지 않습니다 더 나은 선택이다 :
(rockacola의 제외) 여기에 모든 예제는 사용자가 물리적으로 초점을 정의하는 창을 클릭해야합니다. 이 때문에 .hover (), 적합하지 않습니다 더 나은 선택이다 :
$(window).hover(function(event) { if (event.fromElement) { console.log("inactive"); } else { console.log("active"); } });
사용자가 화면에 마우스를 가지고 때 사용자의 마우스 다른 전경에 있다면 그것은 여전히 당신을 말하지 않을 것이다하지만 이것은 당신에게 말할 것이다.
-
6.당신은 다음 호버 () 이벤트가 도움이 될 수 있습니다 (사용자 페이지에 '초점'때 특정 이벤트가 트리거) 크롬에서 열린 구글 검색 페이지, 비슷한 일을하려고하는 경우.
당신은 다음 호버 () 이벤트가 도움이 될 수 있습니다 (사용자 페이지에 '초점'때 특정 이벤트가 트리거) 크롬에서 열린 구글 검색 페이지, 비슷한 일을하려고하는 경우.
$(window).hover(function() { // code here... });
from https://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 아이디 선택은 첫 번째 요소에 대해서만 작동합니다 (0) | 2020.09.26 |
---|---|
[JQUERY] 페이지에서 파일을 삭제하면 어떻게 파일의 입력 값을 설정하는 방법? [복제] (0) | 2020.09.26 |
[JQUERY] jQuery를에 div 요소를 생성 [중복] (0) | 2020.09.26 |
[JQUERY] jQuery를 함께 현재의 URL을 얻을? (0) | 2020.09.26 |
[JQUERY] AJAX MVC를 통해 Excel 파일을 다운로드 (0) | 2020.09.26 |