Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как с помощью document.write вывести флеш объект? (https://javascript.ru/forum/misc/14645-kak-s-pomoshhyu-document-write-vyvesti-flesh-obekt.html)

elmirill 24.01.2011 15:14

Как с помощью document.write вывести флеш объект?
 
Здравствуйте!
Начал изучать JS, появилась задача вывести флеш объект через document.write
Код:

<script src="../../Scripts/swfobject_modified.js" type="text/javascript"></script>

<script type="text/javascript">

document.write('<div id="intro">
              <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1370" height="664">
                <param name="movie" value="intro_1370.swf" />

                <param name="quality" value="high" />
                <param name="wmode" value="opaque" />
                <param name="swfversion" value="6.0.65.0" />
                <!-- Этот тег param предлагает пользователям Flash Player 6.0 r65 и более поздних версий загрузить последнюю версию Flash Player. Удалите его, если не хотите, чтобы пользователи видели запрос. -->
                <param name="expressinstall" value="../../Scripts/expressInstall.swf" />
                <!-- Следующий тег object не поддерживается браузером Internet Explorer. Поэтому скройте его от Internet Explorer при помощи IECC. -->
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="intro_1370.swf" width="1370" height="664">
                  <!--<![endif]-->

                  <param name="quality" value="high" />
                  <param name="wmode" value="opaque" />
                  <param name="swfversion" value="6.0.65.0" />
                  <param name="expressinstall" value="../../Scripts/expressInstall.swf" />
                  <!-- Браузер отображает следующее альтернативное содержимое для пользователей Flash Player 6.0 и более старых версий. -->
                  <div>
                    <h4>Для содержимого этой страницы требуется более новая версия Adobe Flash Player.</h4>
                    <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Получить проигрыватель Adobe Flash Player" /></a></p>

                  </div>
                  <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
              </object>   
            </div>');}

</script>

<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>


Объект не выводится.
Похоже ошибка в синтаксисе, быть может нагромождение скобок и кавычек при закрытии. Быть может нужно экранировать код каким-то образом? Смотрел видео курсы, в сети искал, но безуспешно. Вообще, данная конструкция мне нужна чтобы в зависимости от разных переменных выводить разные флеш ролики. Если кто видит ошибку, прошу подсказать. Спасибо.

Matre 24.01.2011 15:15

уебри переносы строк

elmirill 24.01.2011 15:40

Спасибо, помогло.

dmitriymar 25.01.2011 00:16

Цитата:

Сообщение от elmirill
document.write('<div id="intro">
06 <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1370" height="664">
07 <param name="movie" value="intro_1370.swf" />
08
09 <param name="quality" value="high" />
10 <param name="wmode" value="opaque" />
11 <param name="swfversion" value="6.0.65.0" />
12 <!-- Этот тег param предлагает пользователям Flash Player 6.0 r65 и более поздних версий загрузить последнюю версию Flash Player. Удалите его, если не хотите, чтобы пользователи видели запрос. -->
13 <param name="expressinstall" value="../../Scripts/expressInstall.swf" />
14 <!-- Следующий тег object не поддерживается браузером Internet Explorer. Поэтому скройте его от Internet Explorer при помощи IECC. -->
15 <!--[if !IE]>-->
16 <object type="application/x-shockwave-flash" data="intro_1370.swf" width="1370" height="664">
17 <!--<![endif]-->
18
19 <param name="quality" value="high" />
20 <param name="wmode" value="opaque" />
21 <param name="swfversion" value="6.0.65.0" />
22 <param name="expressinstall" value="../../Scripts/expressInstall.swf" />
23 <!-- Браузер отображает следующее альтернативное содержимое для пользователей Flash Player 6.0 и более старых версий. -->
24 <div>
25 <h4>Для содержимого этой страницы требуется более новая версия Adobe Flash Player.</h4>
26 <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Получить проигрыватель Adobe Flash Player" /></a></p>
27
28 </div>
29 <!--[if !IE]>-->
30 </object>
31 <!--<![endif]-->
32 </object>
33 </div>');}
34
35 </script>
36
37 <script type="text/javascript">
38 swfobject.registerObject("FlashID");
39 </script>

зачем столшько кода? если кросбраузерный вариант занимает всего несколько строк?

supion 23.04.2011 15:05

Цитата:

Сообщение от dmitriymar (Сообщение 89535)
зачем столшько кода? если кросбраузерный вариант занимает всего несколько строк?

Неплохо бы увидеть кроссбраузерный вариант. Лучшее, что нашел - решение с использованием swfobject:
<div id="banner_header">
    Баннер
</div>
<script type="text/javascript">
    var so = new SWFObject("/butt.swf", "banner", "1000", "300", "7", "#f8f8ec");
    so.write("banner_header");
</script>

к сожалению мой IE6 не воспринял. Большое правда шло везде, но в Opera приходилось делать два клика. Оставалось только воспользоваться комментами IECC. Кривое, но решение. К document.write это отношения правда не имеет)))


Часовой пояс GMT +3, время: 05:01.