Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Блокирование нового окна при клике на флеш в ИЕ (http://www.flasher.ru/forum/showthread.php?t=122516)

ZoNT 12.03.2009 17:19

Блокирование нового окна при клике на флеш в ИЕ
 
Есть баннер. При клике на кнопку в браузере открывается новое окно. В ИЕ новое окно блокируется (в остальных браузерах не блокируется). Кто-нибудь знает как обойти?
В AS2 обходилось назначением открытия нового окна не на on(press), а на on(release).
В AS3 пробовал и MouseEvent.CLICK, и MOUSE_UP и MOUSE_DOWN - результат одинаковый.

Вот код AS2 (не блокируется):
Код AS1/AS2:

on (release) {
      getURL(url,"_blank");
}

Вот код AS3 (блокируется):
Код AS3:

function callLink(event:MouseEvent):void {
        try{
                var request:URLRequest = new URLRequest(url);
                navigateToURL(request, '_blank');
        } catch (e:Error) {
                trace("Error occurred: " + e);
        }
}
button.addEventListener(MouseEvent.CLICK, callLink);


hipot 12.03.2009 22:16

встройте баннер при помощи
http://www.adobe.com/products/flashp...detection_kit/
(JavaScript функция AC_FL_RunContent)
поможет

silin 12.03.2009 23:19

как вариант открывать через JS
ExternalInterface должен быть для флешки разрешен (allowScriptAccess: "always")
Код AS3:

var jsFun:String = "function(url){window.open(url,'_blank');}";
try {
        ExternalInterface.call(jsFun,url);
}catch (e:Error){}


ZoNT 13.03.2009 12:26

Цитата:

Сообщение от hipot (Сообщение 805049)
встройте баннер при помощи
http://www.adobe.com/products/flashp...detection_kit/
(JavaScript функция AC_FL_RunContent)
поможет

Попробовал - разницы никакой (кто бы сомневался). Вставка через этот убогий скрипт (с определением браузера по юзерагенту) в итоге ничем не отличается от любой другой вставки: на странице в итоге будет опять либо embed, либо object с param`метрами.

silin, спасибо за совет, сам как-то об этом не подумал... Сейчас потестю и отпишусь.

Добавлено через 5 минут
Не, один хрен: в ИЕ окно блокируется и при вызове через ExternalInterface. ИЕ блокирует новые окна, открываемые скриптом (а не пользователем), а клик из флешки в данном случае не рассматривается как действия пользователя. Если бы эта функция (function(url){window.open(url,'_blank');}) была повешена на document.click и пользователь кликнул по станице, тогда бы новое окно открылось без вопросов (без блокирования)...

fljot 13.03.2009 12:35

wmode какой стоит?

ZoNT 13.03.2009 12:36

wmode=opaque (да и из поста понятно, что AS2 на wmode=window тоже бы блокировалось окно)...

hipot 13.03.2009 12:54

Цитата:

(JavaScript функция AC_FL_RunContent)
мне помогло именно при такой проблеме, просто так я бы не советовал.
Цитата:

убогий скрипт
почему убогий мне не ясно. у меня с ним никаких проблем не было.

iNils 13.03.2009 12:57

В IE есть различные уровни блокировки поп-апов. Много зависит от них.

ZoNT 13.03.2009 13:21

Цитата:

Сообщение от iNils (Сообщение 805169)
В IE есть различные уровни блокировки поп-апов. Много зависит от них.

Стоят настройки по-умолчанию. Именно этот случай наиболее распространён, он меня и интресует.

iNils 13.03.2009 13:25

Хе, у меня по умолчанию стоит High, поэтому у меня все блокируется. А у js'-ка на против, по умолчанию стоит Medium. Так что "по молчанию" бывает разное.


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

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