PDA

Просмотр полной версии : Как закрыть окно браузера?


Rasamaha
13.05.2008, 14:13
Доброго времени суток господа, вопросик следующий. Есть Flash приложение, внедренное в браузер (это может быть все что угодно: ролик, кое другая анимация и т.д.). Я должен создать кнопку ( в этом flash приложении) выполняющую роль закрытия окна браузера. Какой сценарий, мне может это сделать? Заранее благодарю.

iNils
13.05.2008, 14:16
Если окно было открыто не через яваскрипт, то его закрыть можно только руками.

Rasamaha
13.05.2008, 16:51
Т.е. Action Script не распологает такими возможностями, я вас правильно понял? Если всетаки нет, то подскажите как это написать возможно совместно на Action и Java?

gloomyBrain
13.05.2008, 23:15
Да, это возможно

надо только добавить на страничку, в которой находится flash Player простенький скриптик:


<Script language="JavaScript" type="text/JavaScript">
function closeMe(){
window.close()
}
</script>


вот так
А затем уже эту функцию можно вызывать из Flash:


getURL("javascript: closeMe()");


PS
я вообще сейчас не проверял, но всё должно работать, я так уже делал=)

PPS 2 iNils only

Это работает с любым окном, да и тем более, разве есть какая-то разница чем оно открыто?

KoLar
14.05.2008, 00:06
Что мешает написать сразу
getURL("javascript: window.close()");
?

iNils
14.05.2008, 00:30
PPS 2 iNils only
Это работает с любым окном, да и тем более, разве есть какая-то разница чем оно открыто?
Что вы меня уговаривате? Уговаривайте браузеры.
Повторяю еще раз. Самый простой пример
<html>
<body>
<script>
self.close()
</script>
</body>
</html>
Результаты:
IE
19494
Вместо одного клика по родному крестику, надо нажать сначала на кнопку во флеше, а потом на диалоговом окне.

Файрфокс 2:
Вообще никак не среагировал.

Опера 9.22:
Окно закрылось.

Сафари 3.1:
Окно закрылось.

Что имеем на выходе:
Два самых популярных браузера, либо блокирует закрытие предупрждением, либо вообще игнорируют команду скрипта в окне, который был открыт пользователем, а не яваскриптом.

Я это все к тому, что у окна браузера есть станадртные функции, типа развернуть, свернуть, закрыть и попытка сделать дублирование этих функций программым способом пустая трата времени, также как и программное добавление страницы с фаворит лист и установка ее как стартовой.

gloomyBrain
14.05.2008, 02:27
Если окно было открыто не через яваскрипт, то его закрыть можно только руками.
Не хотелось бы никого задевать за профессиональное, но...
А что это значит??? =)
По поводу уговоров браузера - да, тут частично согласен. Но опять же зависит от ваших настроек браузера. Я пользуюсь Мазиллой и у меня она, кстати, РЕАГИРУЕТ=)
А вообще-то можно и версию браузера определить, если что.
Признаюсь, функция вносилась на страничку не за этим, однако именно такая схема предполагает (сугубо на мой взгляд) наибольшую функциональность (сугубо в данном случае)

Rasamaha
14.05.2008, 09:10
Уффф, господа:eek:. Здается мне, что этой информации более чем достаточно)) Спасибо огромное что откликнулись.:drinks:

iNils
14.05.2008, 09:48
Не хотелось бы никого задевать за профессиональное, но...
А что это значит??? =)Для того чтобы действие произошло, я должен буду щелкнуть не по произвольному элементу, а по заданным разработчиком браузера.
По поводу уговоров браузера - да, тут частично согласен. Но опять же зависит от ваших настроек браузера. Я пользуюсь Мазиллой и у меня она, кстати, РЕАГИРУЕТ=)А у меня разрещение экрана 1600 на 1200, давайте теперь будем все сайты под этот размер делать. Подумаешь, что у кого не вместится. Пусть монитор меняет.
Я для чего описал поведение 4-х браузеров, а не того которым я пользуюсь?

lyapiss
05.10.2010, 17:01
Что мешает написать сразу
getURL("javascript: window.close()");
?

так не работает