Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Закрытие страницы по истечение некоторого времени (https://javascript.ru/forum/misc/11583-zakrytie-stranicy-po-istechenie-nekotorogo-vremeni.html)

copenhagen 01.09.2010 15:53

Закрытие страницы по истечение некоторого времени
 
Как сделать, чтобы по истечение, допустим, 5 минут страница сама закрывалась или открывалась другая страница? Пример: человек открыл страницу, она висит в браузере во вкладке, а потом сама закрывается.

inGray 01.09.2010 15:58

setTimeout и document.location вам помогут при переходе. Ну и close() для закрытия;

Skipp 01.09.2010 16:07

copenhagen,
только close() без согласивая пользователя не прокатит.

copenhagen 01.09.2010 21:33

А каким методом можно отследить что пользователь на странице совсем неактивен, то есть ничего не нажимает, страницу не скроллит, мышку не водит.

exec 02.09.2010 06:39

document.onmousemove = document.onclick = document.onkeypress = function () {
	clearTimeout( this.handler );
	this.handler = setTimeout(function () {
		alert( 'Прошло уже полминуты' );
	}, 30000);
};

copenhagen 07.09.2010 11:20

Не хватает еще одной вещи - скроллинга, а также скролллинга на сенсорных устройствах (ontouchmove).
document.onmousewheel работает в опере, но не работает в хроме.
document.onscroll работает и там, и там.
Чтобы работало во всех браузерах применил оба способа.

copenhagen 14.09.2010 22:11

Столкнулся с такой проблемой - во всех браузерах работает (ie, opera,chrome,firefox,maxthon,safari), а вот на утройстве iPad - нет. Подозреваю, что и на iPhone не работает. В safari, который по идее на устройствах используется, на виндоусе работает. Вот такая загогулина.
Причина оказалась такая.
Такой код не работает:
document.onload = function {
	location.href= "#bottom";
	}

А такой работает:
document.onload = goBottom();
function goBottom() {
	location.href= "#bottom";
	}

copenhagen 12.10.2010 13:58

Товарищи, помогите переписать код exec'а из этой темы
document.onmousemove = document.onclick = document.onkeypress = function () {
	clearTimeout( this.handler );
	this.handler = setTimeout(function () {
		alert( 'Прошло уже полминуты' );
	}, 30000);
};

в соответствии с моим предудыщим постом.

Я попробовал переписать, но даже в браузерах неправильно работает:
document.onmousemove = document.onclick = document.onkeypress = goPage();
	function goPage() {
	clearTimeout( this.handler );
	this.handler = setTimeout(function () {
		alert( 'Прошло уже полминуты' );
	}, 30000);
};

DooMer 12.10.2010 17:31

Цитата:

Сообщение от copenhagen (Сообщение 73944)
document.onmousemove = document.onclick = document.onkeypress = goPage();

вы хоть понимаете что вы написали ?

document.onkeypress равно ВОЗРАЩАЕМОМУ значению функции goPage. Другими словами undefined

copenhagen 13.10.2010 14:31

В моем понимании при указанных событиях происходит вызов функции. Раз уж вы Профессор, может подскажете Интересующемуся что подправить)


Часовой пояс GMT +3, время: 12:58.