2009-08-21 3 views
1

Я пытаюсь запустить всплывающее окно из Flex, но всплывающее окно должно иметь определенные свойства, которые обычно можно указать с помощью окна JavaScript.open. Например, во всплывающем окне не должно быть панели инструментов браузера или поля URL.Как создать всплывающее окно из Flex без панели инструментов браузера?

Я пробовал использовать navigateToURL, который отлично работает, но я не могу найти способ указать свойства всплывающего окна.

Я попытался использовать ExternalInterface.call, но всплывающее окно блокируется при вызове window.open напрямую или даже создает пользовательскую функцию JS, которая вызывает window.open.

Помощь!

Спасибо!

+2

Пожалуйста, просто не делайте этого. Всплывающие окна без панели инструментов/адресной панели представляют собой угрозу безопасности и удобства использования, поэтому некоторые браузеры теперь не позволят вам полностью остановить. Большинство вещей, которые люди использовали для использования бесцветных всплывающих окон, в настоящее время обычно выполняются с помощью всплывающих элементов на странице. – bobince

ответ

1

Не думаю, что даже отключить панель инструментов браузера или URL-адрес во многих браузерах можно даже отключить (я, конечно, не разрешаю его ни в одном из браузеров, которые я использую).

Если вы используете navigateToURL, почему страница, которую вы открываете, не запускает JS, чтобы попытаться отключить панель инструментов и URL? Я думаю, вы также можете прикрепить атрибуты к URL-адресу, если хотите отправить свойства.

+0

Я уверен, что большинство JS-совместимых браузеров поддерживают стилизацию всплывающего окна с помощью метода window.open, но Flex, похоже, не поддерживает это ... и я не уверен в том, как это сделать на лету (после того, как окно было открыто) –

+0

Взгляните на эту страницу: http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=5221 Вы можете передать параметры javascript в окно .open(). Просто замените те, которые вы хотите использовать. Опять же, такая функциональность (удаление адресных баров и т. Д.) Не будет работать для любого браузера, который я использую. – CookieOfFortune

0

Вы можете использовать класс PopUpManager Flex для создания настраиваемого всплывающего окна.

Этот пример может помочь вам. Custom PopUp

+0

Я не ищу, чтобы создать всплывающее окно in-flex ... Я ищу всплывающее окно браузера. –

0

Зайдите в блог AndrewT о проверке блокировщиков всплывающих окон. Если не заблокирован, используйте ExternalInterface; в противном случае используйте всплывающее окно flex.

Detecting Popup Blockers

Или еще лучше, использовать SWFAddress v2.3 (JavaScript и AS3) модулей. AS3 имеет SWFAddress :: popup() фасад, который проксирует вызов poup на javascript. Вы можете изменить всплывающее меню SWFAdress.js, чтобы использовать логику Эндрю и вернуть статус. Это была бы лучшая практика: использование превосходной библиотеки SWFAddress из flex for deeplinking, google analytics и popups.

Смежные вопросы