четверг, апреля 26, 2007

Открываем ссылки в новом окне

Современные браузеры зачастую блокируют ссылки, открывающиеся в новом окне. Firefox также не является исключением. При этом (в зависимости от настроек блокировщика) у него появляется маленький крестик внизу, о миссии которого сложно догадаться с первого раза. Так как не все флексовые приложения использую SWFAddress, то открыв ссылку в этом же окне и вернувшись назад мы получаем исходный вид приложения, что является крайне неюзабельным. Поэтому, часто сразу ссылки открывают в новом окне, которое и блокируется. Чтобы этого избежать, некто Сергей Ковалев предлагает открывать окна через жаваскриптовый window.open. Все отлично работает, спасибо за метод борьбы:). Но теперь остается еще одна проблема: во флексе ссылки не открываются из Label. Чтобы решить эту проблему, можно совместить вышеприведенный метод с новым текстовым событием LINK следующим образом:

...
[Bindable] private var str:String = '<a href="event:http://www.ya.ru">www.ya.ru</a>';
...

<mx:Label selectable="true" htmlText="{str}" link="URLUtil.openWindow(event.text)"/>


Теперь все в порядке.

1 комментарий:

Sergey Kovalyov комментирует...

Некто Сергей Ковалёв - это я. :)