Показать сообщение отдельно
  #1 (permalink)  
Старый 15.04.2011, 14:21
Аспирант
Отправить личное сообщение для okapo Посмотреть профиль Найти все сообщения от okapo
 
Регистрация: 15.04.2011
Сообщений: 56

js отслеживание активной вкладки браузера
у меня к вам еще один вопрос
Имею вот данный жаваскрипт, суть его работы в том что если выходишь со страницы то есть переключаешся в другую вкладку браузера то он остонавливает таймер

что мне надо ?
1)у него есть минус, если в этой же странице кликнуть где нибуть, то таймер остонавливается
вот как сделать что бы он не остонавливался если кликаешь где нибуть в странице.
сделать так что бы он остонавливал таймер толька при переключение вкладки браузера

2)если переключался на другой вкладке и когда вернулся таймер стойт,
вот можно ли как нибуть создать кнопочьку и при её нажатие таймер пощел дальше


<script type="text/javascript">
var b = false;
var last = 0;
function t() {
    var c = document.getElementById('time');
    if (typeof c == "undefined") return;
    var t = parseInt(c.innerHTML);
    last = stime();
    if (t > 0) {
        if (b == true) {
            setTimeout('t()', 1000);
            return
        }--t;
        setTimeout('t()', 1000)
    } else {
            document.getElementById('apar').style.display = '';
            document.getElementById('time').style.display = 'none';
    }
    c.innerHTML = t
};
function stime() {
    var d = new Date();
    return d.getTime()
};
function w_obj() {
    var wobj, i;
    for (i = 0; i < 10; ++i) {
        wobj = self.parent;
        if ((wobj && !(wobj === self)) && (wobj.frames.length != 0)) {
            wobj = self.parent
        }
    }
    return wobj
}
var w;
if (navigator.appName == "Microsoft Internet Explorer") w = w_obj();
else w = top;
setTimeout('t()', 1000);
w.onblur = function() {
    b = true
};
w.onfocus = function() {
    b = false
};
w.onmousemove = function() {
    b = false;
    if (last > 0 && last < stime() - 1500) setTimeout('t()', 1000)
};
</script>
Ответить с цитированием