Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ExternalInterface проблема кроссбразуерности (http://www.flasher.ru/forum/showthread.php?t=137356)

Unconscience 11.03.2010 13:29

ExternalInterface проблема кроссбразуерности
 
Добрый день столкнулся со следующей проблемой.
Есть код в as3 (отрывок)
Код AS3:

import flash.external.*;
var usershare:SharedObject = SharedObject.getLocal("pausing");
 
function test()
{                       
        usershare.data.pos = soundChannel.position;
        return '1';
        }
 
ExternalInterface.addCallback("flashScript", test);

Есть код в javascript на html странице (отрывок)
Код:

        <script type="text/javascript">
                $(function(){
                        $("a").click(function(){
                                playMovie();
                        });                       
                });                               
               
                function getFlashMovie(movieName) {
                          var isIE = navigator.appName.indexOf("Microsoft") != -1;
                          return (isIE) ? window[movieName] : document[movieName];
                }               
                function playMovie() {
                        getFlashMovie("pleer").flashScript();
                }                                                       

        </script>

Краткое описание: javascript код регистрирует все нажатия на ссылки и инициирует выполнения функции test() в as. Функция test() записывает позицию звуковой дорожки в sharedobject.

Проблема: Такая связка работает в firefox, но отказывается работать в safari и chrome (ie пока не проверял, но так как он работает по законам Мёрфи, то думаю там тоже самое).

random13 11.03.2010 14:03

мало похоже на as3 код, проверьте что у вас возвращает getFlashMovie("pleer") в браузерах?

Unconscience 11.03.2010 14:16

undefined

random13 11.03.2010 14:30

ну и как вы думаете что у вас происходит, через что добавляете флешку?

самый простой вариант использовать swfobject...

у вас либо флешка не успела добавиться на страницу а вы ей уже что то пытаетесь передать либо просто не кроссбраузерно она добавлена

etc 11.03.2010 14:37

Я бы сказал, что getFlashMovie криво написан просто.

gloomyBrain 11.03.2010 21:27

Цитата:

самый простой вариант использовать swfobject
Согласен полностью, помимо всяких других вкусностей там есть метод swfobject.getObjectById("id Вашей флешки")
Кстати, для полной совместимости со всеми браузерами я использую статический метод вписывания флешки на страницу - ибо в IE иногда таааакие чудеса происходят, что просто ужас(при динамическом вписывании).

Забыл добавить:
swfobject по русски с полным описанием чего и куда


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

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