Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как открыть окно браузера фиксированного размера? (http://www.flasher.ru/forum/showthread.php?t=173819)

TTA 12.01.2012 11:25

Как открыть окно браузера фиксированного размера?
 
Салют! интересен собстно сабж. Надо кнопкой во флешке открыть окно браузера с нужной страницей скажем 300х300 пикселей и желательно поверх самой флешки (чтото вроде popup). Есть идеи как победить?

mooncar 12.01.2012 13:05

Так, или иначе, начать надо с выбора подходящего решения на JavaScript.

1. Можно открыть именно pop-up окно, вызвав из флешки javascript-функцию.
Вызвать js из флешки можно парой способов, я использую ExternalInterface.call('имя_функции');
Сперва напишите js-функцию для открытия pop-up (через window.open).
Код:

<script type="text/javascript" language="javascript">
function showPopUp()
{
        window.open("http://ya.ru","Yandex", "width=300, height=300, resizable=no, scrollbars=no, status=yes");
}
</script>

Код AS1/AS2:

import flash.external.*;
 
btn.onRelease = function()
{
  ExternalInterface.call('showPopUp');
}

2. Есть второй способ, более элегантный. Положите поверх флешки невидимый фрейм (например, iframe c visibility:hidden), и показывайте его также с помощью вызова js-функции.
На странице:
Код:

<script type="text/javascript" language="javascript">
function showFrame()
{
        var node = document.getElementById("someIframe");
        node.style.visibility = "visible";
}
</script>

Флешка:
Код AS1/AS2:

import flash.external.*;
 
btn.onRelease = function()
{
  ExternalInterface.call('showFrame');
}

Откроется не окно, а будет показан некий блок на той же странице. Иногда это бывает уместнее. Но на любителя.


Код не проверял. Примеры по использованию ExternalInterface см. в хелпе. Проверять на хостинге, иначе ExternalInterface не запашет. Либо подокорректировать разрешенные зоны, добавив локальные диски - поставить "Всегда разрешать и добавить локальный диск.
При публикации флешки на странице - разрешить ей использование скриптов.

Вместо метода ExternalInterface.call можно использовать getURL, также вызывать JS. Но лично мне это менее нравится.


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

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