Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.09.2006, 11:34
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 1  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
По умолчанию Фокус окна

Как узнать находиться ли окно браузера, в котором запущен скрипт в фокусе или нет.

Старый 25.09.2006, 14:33
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 2  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
window.onblur()

Старый 25.09.2006, 21:54
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 3  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Цитата:
Сообщение от KidsKilla
window.onblur()
вау, спасибо тебе дорогой, теперь я точно знаю как отследить потерю фокуса у окна браузера...
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
		<script type="text/javascript">
			var outArea;
			function onCompleteHandler () {
				outArea = document.getElementById ('outArea');
				window.onblur = function () { outArea.innerHTML = 'onBlur ();'; };
				window.onfocus = function () { outArea.innerHTML = 'onFocus ()'; };
			}
		</script>
	</head>
	<body 
		style="width: 100%; height: 100%; background-color: #123456;"
		onload="onCompleteHandler ()">
		
		<div style="
				width: 300px; 
				height: auto; 
				background-color: #000fff; 
				margin: auto;
				padding: 10px">
			<p align="center" id="outArea">outArea</p>
		</div>
	</body>
</html>
блин только что-то не работает...

А вот как узнать в любой данный момент по средством js что окно браузера в фокусе или нет не подскажешь?


Последний раз редактировалось 7thsky™; 25.09.2006 в 22:19.
Старый 26.09.2006, 00:48
baron27 вне форума Посмотреть профиль Отправить личное сообщение для baron27 Посетить домашнюю страницу baron27 Найти все сообщения от baron27
  № 4  
Ответить с цитированием
baron27
Контрибьютор базы знаний по Флекс
 
Аватар для baron27

Регистрация: Aug 2005
Сообщений: 690
все работает...
Изображения
Тип файла: gif Untitled-1.gif (25.1 Кб, 58 просмотров)
__________________
Flex 2 и Co

Старый 26.09.2006, 10:14
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 5  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Цитата:
Сообщение от baron27
все работает...
А ты попробуй выделить надпись и получишь onBlur ();

Проблема в следующем, есть флэш который через JS получает данные во время получения флэш теряет фокус. в этом флэше есть окно чата так если во время получение данных, юзер что нить стирает бакспайсом, то браузер переходит на предыдущую страницу.

(Варианты с блокировкой UI во время получение данных не катят, так это флэш управляется через JS, регулярно что то обновляется)

Старый 26.09.2006, 11:45
baron27 вне форума Посмотреть профиль Отправить личное сообщение для baron27 Посетить домашнюю страницу baron27 Найти все сообщения от baron27
  № 6  
Ответить с цитированием
baron27
Контрибьютор базы знаний по Флекс
 
Аватар для baron27

Регистрация: Aug 2005
Сообщений: 690
получается, что сам body, на котором висит обработчик, теряет фокус при клике по диву.
немного не понял твою ситуацию, но можно ведь при получении данных вызывать фокус окна или например поиграть с фокусом самого элемента чата, типа

Код:
<div tabindex="1" onblur="document.getElementById ('outArea1').innerHTML='onblur'" onfocus="document.getElementById ('outArea1').innerHTML='onfocus'" style="
				width: 300px; 
				height: auto; 
				background-color: #000fff; 
				margin: auto;
				padding: 10px">
			<p align="center" id="outArea1">outArea</p>
		</div>
или на onchange текстового поля, например.
__________________
Flex 2 и Co

Старый 26.09.2006, 13:19
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 7  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
ситуация

есть UI флэш, флэш тупой, знает только отображать инфу которую ему переводят, инфа обновляется через flashInstance.SetVariable ().
Так при получение очередной порции данных флэшобъект в хтмл теряет фокус, если в это время юзер жал бакспайс то происходит переход на предыдущую страницу в браузере (у нас это очень часто случается в чатах, окно чата во флэше, юзер что то стирает, тут новые данные, потеря фокуса и юзер вылетел из системы, то есть опять должен логониться)

я пробывал при обновление данных флэше в конце каждой порции данных ставить flashInstance.focus (); но если открывается несколько окон, то начинается скачка фокусов между окнами.
так хотелось бы просто в конце обновления данных узнать если окно активно то вернуть фокус флэшу, если нет то нет.

Старый 26.09.2006, 15:02
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 8  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
можно попробовать через selection

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.