Можно ли встроить SWF-файл AS3 в DIV, расположенный над встроенным SWF-файлом AS2?

StackOverflow https://stackoverflow.com/questions/357281

  •  21-08-2019
  •  | 
  •  

Вопрос

Я думаю, что вопрос вполне понятен.Кто-нибудь делал это раньше?

ОБНОВЛЯТЬ:Разъяснение, почему мне нужно это сделать.У нас есть один SWF-гигант на сайте AS1–AS2 с большим разделом видеогалереи.Клиент хочет обновить раздел видео, поскольку код AS2 не может обрабатывать его более свежие, гораздо большие видеофайлы.Клиент не будет платить за обновление всего сайта.Итак, я хотел бы иметь возможность накладывать видеобраузер и проигрыватель на основе AS3 на существующий сайт при переходе к этому разделу, таким образом оставляя остальную часть сайта работать правильно с существующим кодом AS2.

Надеюсь, это объясняет вещи немного яснее!

Это было полезно?

Решение

Я бы не подумал, что AS3 или AS2 имеют к этому какое-то отношение.

С точки зрения веб-браузера они оба представляют собой черный ящик с надписью «Плагин Flash Player».Одновременно можно установить только одну версию плагина, поэтому, даже если у вас есть SWF AS2 и AS3, веб-браузер просто видит, что у него есть 2 экземпляра «Плагин Flash player версии 10».

Чтобы свести к минимуму то, что вы, кажется, пытаетесь сделать, это:

  1. Создать страницу:
  2. Вставьте в него SWF
  3. Добавьте на страницу элемент div и используйте позиционирование CSS, чтобы разместить его «поверх» другого SWF-файла.
  4. Вставьте еще один SWF в этот div.

Итак, это работает?- Нет Да, очень хорошо, но ты должен установить wmode="transparent" на ваших встроенных флэш-объектах (спасибо Grapefrukt в комментариях).

Я провел тест:вот мой исходный код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <style type="text/css" media="screen">
            DIV{ width: 300px; height; 300px;}
            #background{ border: 1px solid green; background-color: green; z-index: 0; }
            #foreground{ border: 1px solid red; background-color: red; z-index: 50; }
        </style>
    </head>
    <body>
        <div id="background">
            <embed height="208" width="208" quality="high" bgcolor="#fff" src="bgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
        </div>  

        <div id="foreground" style="position: absolute; left: 30px; top: 30px;">
            <embed height="208" width="208" quality="high" bgcolor="#fff" src="fgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
        </div>  

    </body>
</html>

Полученные результаты:

Без wmode=transparent, является непоследовательным и незначительно поврежденным в Firefox и IE.С его помощью он делает именно то, что, по вашему мнению, должен делать как в IE, так и в Firefox.
SWF-файлы ведут себя (с точки зрения макета) так, как если бы они были просто изображениями.Это круто.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top