Форум 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)
-   -   как открыть ссылку в popup окне заданного размера (http://www.flasher.ru/forum/showthread.php?t=186910)

sunname 09.11.2012 23:44

как открыть ссылку в popup окне заданного размера
 
Есть флэшролик с ссылкой на видео из ютуба. При нажатии на ссылку видео загружается в отдельном окне.

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

Есть javaScritp, который это делает (он в html коде самой страницы)
Код:

<script type="text/javascript">
jQuery(document).ready(function() {
        $(".video").click(function() {
                $.fancybox({
                        'padding'                : 8,
                        'autoScale'                : false,
                        'transitionIn'        : 'fade',
                        'transitionOut'        : 'fade',
                        'title'                        : this.title,
                        'width'                        : 640,
                        'height'                : 385,
                        'href'                        : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
                        'type'                        : 'swf',
                        'swf'                        : {
                        'wmode'                                : 'transparent',
                        'allowfullscreen'        : 'true'
                        }
                });
                return false;
        });
});
</script>

хотела в через
Код:

getURL('javascript:функция("параметры");');
но как это сделать не найду.

ПОдскажите, знающие люди!

mooncar 10.11.2012 11:10

Попробуйте так

JS:
Код:

<script type="text/javascript">
function popup()
{
        $.fancybox({
                'padding'                : 8,
                'autoScale'                : false,
                'transitionIn'        : 'fade',
                'transitionOut'        : 'fade',
                'title'                        : this.title,
                'width'                        : 640,
                'height'                : 385,
                'href'                        : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
                'type'                        : 'swf',
                'swf'                        : {
                'wmode'                                : 'transparent',
                'allowfullscreen'        : 'true'
                }
        });
}
</script>

AS:

Код AS1/AS2:

import flash.external.ExternalInterface;
.....
//В нужном месте, где клик
ExternalInterface.call('popup');

Эту связку AS -> JS я привел без параметров, то есть функция без аргументов.
Попробуйте сами разбираться, поскольку я не настолько хорошо знаю синтаксис fancybox, чтобы легко и правильно вам написать передачу в него нужных аргументов.

Параметры при вызове внешней JS-функции из флеша передаются так:
Код AS1/AS2:

ExternalInterface.call('popup', 'param1', 'param2' .....)

То есть после имени вызываемой функции идут передаваемые ей аргументы.
Соответственно, JS-функция будет их принимать:
Код:

function popup(p1, p2 .....)
{
 ...
 //и тут как-то p1, p2 .... используются, например, вы передаете ссылку и заголовок ролика из флешки

На первых порах (поскольку могут быть принципиальные сложности с вызовом ExternalInterface.call) тестируйте алертами:
Код:

function popup(p1, p2 .....)
{
  alert(p1 + '  ' + p2 + .... );
}


Hauts 10.11.2012 11:41

И тестируйте не локально, кстати.

dark256 10.11.2012 12:38

Как-то на днях с этим убивался.
Приведу просто пример открытия окна в каком-то там месте экрана без рамок элементов управления и пр.
Кстати локально работает. Ну... комментов не дам - читайте мануалы.... Но ЭТО работает.

Код AS1/AS2:

getURL("javascript:NewWindow=window.open('/media/navbar/astradio.html','newWin','width=500,height=90,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  NewWindow.focus();     screen_height = window.screen.availHeight; screen_width = window.screen.availWidth; left_point = parseInt(screen_width/2)-(500/2); top_point = parseInt(screen_height/2)-(90/2); setTimeout('NewWindow.moveTo(left_point,top_point)',100); void(0);");

В ИЕ7 и Хроме воркает.


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

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