Мне нужно проверить, есть ли у пользователя окна в фокусе, я сейчас делаю это:
var isonfocus=true;
window.onblur = function(){
isonfocus=false;
}
window.onfocus = function(){
isonfocus=true;
}
И всякий раз, когда мне нужно проверить, есть ли у пользователя окна в фокусе, я просто делаю if(isonfocus==true)
.
Проблема: если пользователь теряет фокус перед загрузкой страницы, даже если я это сделаю
if(isonfocus==true)
он вернет true, хотя окно не находится в фокусе, и определение переменной var на false var isonfocus=false;
будет делать обратное.
Может кто-нибудь мне помочь? Спасибо.
UPDATE
Представьте, что сайт PTC (платный клик), когда вы идете и выбираете рекламу для просмотра, большинство сайтов проверяют, действительно ли пользователь видит сайт рекламодателя (имеет фокус) или нет (потерянный фокус).
Это похоже на то, что мне нужно, мне нужен способ проверить, имеет ли пользователь окно (содержащее iframe) в фокусе.
Чтобы получить фокус, пользователь мог щелкнуть по iframe, документу или на вкладке.
Обратите внимание, что это необходимо для работы со всеми основными браузерами.