|
|
|||||
открытие управляемых окон
Добрый день!
Хочется из флеш-приложения открыть окно, определенного размера по аналогу с window.open( .. ) в JavaScript. Использование функции navigateToURL для открытия псевдо-url (начинающегося с javascript) приводит к странному эффекту. Вернее если подумать, то ничего в нем странного нет, но я не знаю как его обойти. Вобщем при попытке открыть некий урл, например, http://my-site.ru - флеш сначала открывает новую вкладку/окно, где URL страницы совпадает с моим псевдо-урл (javascript:window.open( 'http://my-site.ru', ... ) ), а уже в этом окне срабатывает javascript и открывается новое окно нужных мне размеров и с URL = http://my-site.ru. Т.е. получается одно лишнее окно. Вопрос: как можно избежать ненужного промежуточного окна? Открываю окно с помощью этого кода: ###### package utils { import flash.net.URLRequest; import flash.net.navigateToURL; public function getURL ( url:String, target:String = null ):void { try { return( navigateToURL( new URLRequest( url ), target ) ); } catch( error:Error ) { return( void ); } } } package utils.js { import utils.getURL; public class window { public static const BLANK:String = '_blank'; public static const PARENT:String = '_parent'; public static const SELF:String = '_self'; public static const TOP:String = '_top'; public static function open ( url:String, name:String, target:String = window.BLANK, width:uint = 0, height:uint = 0, toolbar:Boolean = true, location:Bo var params:Vector.<String> = new Vector.<String> (); if ( width ) { params.push( 'width=' + width ); } if ( height ) { params.push( 'height=' + height ); } params.push( 'toolbar=' + ( toolbar ? 'yes' : 'no' ) ); params.push( 'location=' + ( location ? 'yes' : 'no' ) ); params.push( 'directories=' + ( directories ? 'yes' : 'no' ) ); params.push( 'status=' + ( status ? 'yes' : 'no' ) ); params.push( 'scrollbars=' + ( scrollbars ? 'yes' : 'no' ) ); params.push( 'resizable=' + ( resizable ? 'yes' : 'no' ) ); params.push( 'copyhistory=' + ( copyhistory ? 'yes' : 'no' ) ); url = "javascript:window.open( '" + url + "', '" + name + "', '" + params.join( ', ' ) + "' );"; return( getURL( url, target ) ); } } } Последний раз редактировалось catyoshi; 25.06.2009 в 13:55. |
|
|||||
mre, этот вариант не подходит.
т.к. эффект тот же самый. только пустая страница с псевдо-урл "javascript:window,open(...)" открывается не в новом окне, а в текущем.. чего уж совсем не хочется. мне надо открыть именно новое окно опрделенных размеров |
|
|||||
спасибо. так все получилось, что я хотел.
конечно, теперь флеш привзяан к javascript на странице-контейнере.. но я переживу |
|
|||||
стервочка (я мужик)
|
яваскрипт можно генерировать из флэша
|
|
|||||
Регистрация: Jun 2009
Сообщений: 5
|
Для ExternalInterface? Если не трудно, то можно чуть подробнее?
|
|
|||||
стервочка (я мужик)
|
|
|
|||||
Регистрация: Jun 2009
Сообщений: 5
|
Цитата:
А интересно, насколько ограничена длина functionName:String... |
|
|||||
стервочка (я мужик)
|
не очень много. проверьте
|
Часовой пояс GMT +4, время: 21:09. |
|
« Предыдущая тема | Следующая тема » |
|
|