2010-07-16 26 views
5

Tôi muốn có thể tắt tiếng hoạt động của ứng dụng nếu tôi có thể phát hiện trang đó không còn tập trung. Ví dụ: nếu trang nằm trong tab nền hoặc ứng dụng khác có tiêu điểm, tôi muốn vô hiệu hóa tập lệnh bỏ phiếu liên tục hoặc chuyển thông báo phương thức sang API thông báo HTML5 mới.Xác định xem trang web có tiêu điểm cửa sổ nền trước hay không là tab đang hoạt động?

Có cách nào để có được điều này với JS, và nếu có, trình duyệt nào được hỗ trợ?

PS - Tôi đã xem this, nhưng không biết liệu nó có hiệu quả với những gì tôi đang tìm kiếm hay không. Ai có hiểu biết gì không?

Trả lời

15

Bạn có thể nghe cho sự kiện blur trên window của bạn, sau đó cho khi người dùng quay trở lại, bạn có thể sử dụng các sự kiện focus:

Dưới đây là một ví dụ trong jQuery:

$(window).blur(disableStuff).focus(enableStuff); 

Hoặc trong tinh khiết JavaScript:

window.onblur = disableStuff; 
window.onfocus = enableStuff; 
+0

Tuyệt vời, tôi sẽ kiểm tra điều này vào ngày mai! – mattbasta

+0

Nó hoạt động! Đẹp! – mattbasta

Các vấn đề liên quan