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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.07.2007, 18:26
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 1  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Question как из flash закрыть html окно

как из flash закрыть html окно, которое открыто следующей функцией:

Код:
_root.openWinCentre = function (url, winName, w, h, toolbar, location, directories, status, menubar, scrollbars, resizable) {
    getURL ("javascript:var myWin; if(!myWin || myWin.closed){myWin = window.open('" + url + "','" + winName + "','" + "width=" + w + ",height=" + h + ",toolbar=" + toolbar + ",location=" + location + ",directories=" + directories + ",status=" + status + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",top='+((screen.height/2)-(" + h/2 + "))+',left='+((screen.width/2)-(" + w/2 + "))+'" + "')}else{myWin.focus();};void(0);");
}


Последний раз редактировалось etc; 15.07.2007 в 11:12.
Старый 15.07.2007, 01:16
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 2  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
очень хочется ответить кодом в hex'е...
элементарно, также, как и открыл!
оформи код по нормальному - при помощие тэгов code!

Старый 15.07.2007, 02:14
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 3  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Спасибо за подсказку. Вот так лучше.
Код:
_root.openWinCentre = function (url, winName, w, h, toolbar, location, directories, status, menubar, scrollbars, resizable) {
getURL ("javascript:var myWin; if(!myWin || myWin.closed){myWin = window.open('" + url + "','" + winName + "','" + "width=" + w + ",height=" + h + ",toolbar=" + toolbar + ",location=" + location + ",directories=" + directories + ",status=" + status + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",top='+((screen.height/2)-(" + h/2 + "))+',left='+((screen.width/2)-(" + w/2 + "))+'" + "')}else{myWin.focus();};void(0);");
}
Если я закрываю окно так
Код:
getURL("javascript:var myWin;myWin = window.close('" + winName + "');");
то всплывает сообщение IE "... Закрыть окно <Да> <Нет>" - при нажатии "Да" закрывается родительское окно, а при "Нет" окно просто уходит на задний план. Правда, после этого его можно обновить.
Как избавиться от предупреждения IE ?

Старый 15.07.2007, 02:31
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
getURL("javascript:if(myWin&&!myWin.closed)myWin.close();");
Должно сработать, но не проверял.
Вообще лучше это поручить джаваскрипту на странице и вызывать функцию. Для общения флеша и веб-страницы придуман ExternalInterface.


Последний раз редактировалось Kikasso; 15.07.2007 в 02:34.
Старый 15.07.2007, 02:53
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 5  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Спасибо, все заработало как надо!!!

Старый 15.07.2007, 04:16
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 6  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Осталась небольшая проблема - как дождаться, что окно закрылось при обновлении окна. Сначала я вызываю функцию "close" а в след за ней "open", в которой пытаюсь сделать проверку на событие, что окно закрыто, но не хватает знаний...
Я пишу
Код:
 getURL ("javascript:var myWin;while(!myWin.closed){wait(100);};if(!myWin || myWin.closed){myWin = window.open('" + url + "','" + winName + "','" + "width=" + w + ",height=" + h + ",toolbar=" + toolbar + ",location=" + location + ",directories=" + directories + ",status=" + status + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",top='+((screen.height/2)-(" + h/2 + "))+',left='+((screen.width/2)-(" + w/2 + "))+'" + "')}else{myWin.focus();};void(0);");
но что-то с
Код:
. . while(!myWin.closed){wait(100);}; . .
я делаю не так.


Последний раз редактировалось Ruben1; 15.07.2007 в 04:39.
Старый 15.07.2007, 08:16
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 7  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
1) Загоните функции открывания - закрывания окна в джаваскрипт на странице, а из флеша их вызывайте.
2) Что такое wait?
3) Если вы открыли окно, и оно открыто, вам надо просто поменять его location.

Старый 15.07.2007, 15:50
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 8  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Цитата:
1) Загоните функции открывания - закрывания окна в джаваскрипт на странице, а из флеша их вызывайте.
Пока не знаю как это сделать. Флэш у меня основное (фоновое) окно. Сейчас оно в отладке - http://ruben1.narod.ru/idea.swf. СТРАННО - ссылка не работает - добавляется мусор - поправьте адрес вручную, как написано!
Если выбирать меню (вызов функции"open", то окно не обновляется. Только после нажатия верхней отладочной кнопки можно обновить. Вторая кнопка вызывает подряд "close" и "open".
Цитата:
Что такое wait?
Как я прочел - это функция ожидания в JS..? В скобках миллисек. Я пробовал сделать задержку, пока окно не закроется после вызова "close". Но не получается ...
Цитата:
3) Если вы открыли окно, и оно открыто, вам надо просто поменять его location.
Это я не понял ..

Спасибо за отклик и помощь.


Последний раз редактировалось Ruben1; 15.07.2007 в 17:31.
Старый 15.07.2007, 16:23
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Как я прочел - это функция ожидания в JS..?
Да где вы это прочли? Нет такой функции.
Код:
javascript:alert(setTimeout);
в адресную строку броузера, нажать ENTER. Есть такая функция.
а теперь
Код:
javascript:alert(wait);
в адресную строку броузера, нажать ENTER. Ошибка - нет такого.

Старый 15.07.2007, 16:43
Ruben1 вне форума Посмотреть профиль Отправить личное сообщение для Ruben1 Найти все сообщения от Ruben1
  № 10  
Ответить с цитированием
Ruben1

Регистрация: Apr 2007
Сообщений: 9
Ваша правда, я в суете прочел "Java", а не "JavaScript"
Сейчас буду пробовать. Я никогда еще с JS не имел дела.

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

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

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


 


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


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