SWF (Flash) играет автоматически в Chrome - PullRequest
0 голосов
/ 18 августа 2011

Я встраиваю файл swf swfobject . Я не хочу, чтобы файл swf (это реклама) воспроизводился автоматически, поэтому я установил атрибут воспроизведения с помощью «false». как следующий HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <script type="text/javascript" src="swfobject/swfobject.js"></script>
        <script type="text/javascript">
            swfobject.registerObject("myFlashContent", "9.0.0", "expressInstall.swf");
        </script>
    </head>
    <body>
        <div>
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="970" height="250" id="myFlashContent">
                <param name="movie" value="day_110702/ad.swf" />
                <param name="play" value="false" /> 
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="day_110702/ad.swf" width="970" height="250">
                <!--<![endif]-->
                    <a href="http://www.adobe.com/go/getflashplayer">
                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                    </a>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    </body>
</html>

Он отлично работает в IE, но не работает в Chrome / Firefox. В Chrome / Firefox SWF-файл воспроизводится автоматически.

Кроме того, другое поведение swf-файла отличается от Chrome / Firefox и IE: когда вы встроили SWF-файл с невидимым тегом iframe. а

<iframe id="iframe"  src="swf.html" style="width:100%;height:100%; display:none; visibility:hidden;"></iframe>

Когда вы просматриваете страницу, содержащую этот iframe в IE / Firefox, swf НЕ будет воспроизводиться, пока вы не сделаете iframe видимым. Но если вы просматриваете страницу в Chrome, SWF-файл будет воспроизводиться автоматически, даже если iframe невидим.

Кто-нибудь может сказать мне, почему поведение swf (flash) отличается в разных браузерах? Проблема кросс-браузеров всегда сводит с ума:).

1 Ответ

0 голосов
/ 18 августа 2011

Вы пытались встроить SWF с использованием динамической публикации вместо статической публикации?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
            var flashvars = {};
            var params = {};
            params.play = "true";
            var attributes = {};
            swfobject.embedSWF("day_110702/ad.swf", "myAlternativeContent", "970", "250", "9.0.0", false, flashvars, params, attributes);
        </script>
    </head>
    <body>
        <div id="myAlternativeContent">
            <a href="http://www.adobe.com/go/getflashplayer">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </div>
    </body>
</html>
...