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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Feb 2006
Сообщений: 56
Отправить сообщение для catyoshi с помощью ICQ
По умолчанию открытие управляемых окон

Добрый день!

Хочется из флеш-приложения открыть окно, определенного размера по аналогу с window.open( .. ) в JavaScript.

Использование функции navigateToURL для открытия псевдо-url (начинающегося с javascript) приводит к странному эффекту. Вернее если подумать, то ничего в нем странного нет, но я не знаю как его обойти.
Вобщем при попытке открыть некий урл, например,
http://my-site.ru - флеш сначала открывает новую вкладку/окно, где URL страницы совпадает с моим псевдо-урл (javascript:window.open( 'http://my-site.ru', ... ) ), а уже в этом окне срабатывает javascript и открывается новое окно нужных мне размеров и с URL = http://my-site.ru.
Т.е. получается одно лишнее окно.


Вопрос: как можно избежать ненужного промежуточного окна?

Открываю окно с помощью этого кода:

######
Код AS3:
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 ); }
  }
 
}
########
Код AS3:
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 ) );
    }
 
  }
}
############
Код AS3:
import utils.js.window;
 
window.open( 'http://my-site.ru', 'test', window.BLANK, 400, 300, false );


Последний раз редактировалось catyoshi; 25.06.2009 в 13:55.
Создать новую тему   Часовой пояс GMT +4, время: 03:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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