Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Активное окно для чат-рефреш (https://javascript.ru/forum/events/33306-aktivnoe-okno-dlya-chat-refresh.html)

noid 18.11.2012 16:47

Активная вкладка для чат-рефреш
 
Я совсем ноль, поэтому, мне бы готовое решение, если можно. Суть дела - гс на dle, с миничатом. При открытии нескольких вкладок не хочется нагружать сервер. Нашел такое:
$(window).blur(function() {
// Здесь что угодно после ухода в другую вкладку
});
 
$(window).focus(function() {
// Здесь что угодно после возвращения во вкладку
});

Кусочек кода, отвечающий за обновление чата:
function mChat_Refresh() {
    $('#mchat-load-layer').show("fast");
    $.post('/engine/ajax/mchat.php', {
        skin: dle_skin
    }, function (a) {
        $('#mchat_messages').html(a);
        $('#mchat-load-layer').hide("fast")
    })
}

Теперь нужно решение. Помогайте пжлст.

noid 18.11.2012 21:53

Вообщем, друг дал код
var this_tab_is_active = false;
	
	$(window).blur(function() {
		this_tab_is_active = false;
		});
	 
	$(window).focus(function() {
		this_tab_is_active = true;
		});
	
	function mChat_Refresh() {
		if(this_tab_is_active)
			{
			$('#mchat-load-layer').show("fast");
			$.post('/engine/ajax/mchat.php', {
				skin: dle_skin
			}, function (a) {
				save_to_local_storage(a);
				$('#mchat_messages').html(a);
				$('#mchat-load-layer').hide("fast")
			})
			}
		else
			{
			load_from_local_storage(a);
			}
	}

Но мне фаербаг говорит:
ReferenceError: load_from_local_storage is not defined
load_from_local_storage(a);


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