AS3 вложенный SWF не отображается в HTML - PullRequest
0 голосов
/ 20 октября 2011

Я использую следующий код AS3 для загрузки внешнего SWF (один с размерами, которые мне не нравятся) в другой SWF. При просмотре SWF-файла загрузчика, когда он встроен в HTML-страницу, ничего не отображается, даже если SWF-файл загрузчика без проблем отображает вложенный SWF-файл.

    package  
    {
        import flash.display.Loader;
        import flash.display.MovieClip;
        import flash.net.URLRequest;
        import flash.events.Event;

        public class Main extends MovieClip
        {
            private var swfLoader:Loader;
            public function Main() 
            {
                swfLoader = new Loader();
                swfLoader.load(new URLRequest("nested.swf"));
                swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
            }

            private function loadComplete(e:Event)
            {
                addChild(swfLoader);
            }
        }
    }

А вот HTML-код, который я использую:

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <link href="../includes/samplestyle.css" rel="stylesheet" type="text/css"/>
    <script src="../Scripts/swfobject_modified.js" type="text/javascript"></script>
    <script language="javascript">AC_FL_RunContent = 0;</script>
    <script src="../includes/AC_RunActiveContent.js" language="javascript"></script>
    </head>
    <body style="background-color: transparent;">
    <script language="javascript">
        if (AC_FL_RunContent == 0) {
            alert("This page requires AC_RunActiveContent.js.");
        } else {
            AC_FL_RunContent(
                'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
                'width', '320',
                'height', '240',
                'src', 'includes/loaderSwf',
                'quality', 'high',
                'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
                'align', 'middle',
                'play', 'true',
                'loop', 'true',
                'scale', 'showall',
                    'wmode', 'transparent',
                'devicefont', 'false',
                'id', 'includes/loaderSwf',
                'bgcolor', '#ffffff',
                'name', 'includes/loaderSwf',
                'menu', 'true',
                'allowFullScreen', 'false',
                'allowScriptAccess','sameDomain',
                'movie', '../includes/loaderSwf',
                'salign', ''
                ); //end AC code
        }
    </script>
    <noscript>
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="320" height="240" id="includes/loaderSwf" align="middle">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="false" />
        <param name="movie" value="../includes/loaderSwf.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />   <embed src="../includes/loaderSwf.swf" quality="high" bgcolor="#ffffff" width="320" height="240" name="includes/loaderSwf" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
        </object>
    </noscript>
    </body>
    </html>

Если я подставлю имя «loaderSwf» вложенным именем SWF, оно будет воспроизводиться нормально. Кажется, что локальная страница HTML не нравится тот факт, что я играю SWF через другой SWF. У кого-нибудь есть на это что-нибудь?

1 Ответ

1 голос
/ 20 октября 2011

Похоже, ваш loaderSwf и nested.swf не находятся в том же месте, что и ваш html-файл. Попробуйте выполнить swfLoader.load(new URLRequest("includes/nested.swf")); или swfLoader.load(new URLRequest("../includes/nested.swf"));, в зависимости от того, как выглядит ваша файловая структура.

Также может быть полезно отобразить сообщение об ошибке загрузки, которое выдается из swfLoader.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...