Как, Flash не будет играть в Internet Explorer? - PullRequest
0 голосов
/ 03 августа 2011

У меня есть кусок флеш, который не хочет играть в Internet Explorer:

    <div class="flash_slider">                   
           <object style="visibility: visible;" id="flashcontent" data="/files/theme/piecemakerNoShadow.swf" type="application/x-shockwave-flash" height="460" width="980">
                 <param value="transparent" name="wmode">
                   <param value="xmlSource=/files/theme/piecemakerXML.xml&amp;cssSource=/files/theme/piecemakerXML.css&amp;imageSource=/files/theme/" name="flashvars">
            </object>
                     <script type="text/javascript">
                       var flashvars = {};
                       flashvars.xmlSource = "/files/theme/piecemakerXML.xml";
                       flashvars.cssSource = "/files/theme/piecemakerXML.css";
                       flashvars.imageSource = "/files/theme/";
                       var attributes = {};
                       attributes.wmode = "transparent";
                       swfobject.embedSWF("/files/theme/piecemakerNoShadow.swf", "flashcontent", "980", "460", "10", "/files/theme/expressInstall.swf", flashvars, attributes);
                     </script>                       
                   </div>

Есть идеи?спасибо

1 Ответ

1 голос
/ 03 августа 2011

Задайте IE с помощью условных комментариев.

<!--[if !IE] >
<script type = "text/javascript" >
    var flashvars = {};
    flashvars.xmlSource = "/files/theme/piecemakerXML.xml";
    flashvars.cssSource = "/files/theme/piecemakerXML.css";
    flashvars.imageSource = "/files/theme/";
    var attributes = {};
    attributes.wmode = "transparent";
    swfobject.embedSWF("/files/theme/piecemakerNoShadow.swf", "flashcontent", "980", "460", "10", "/files/theme/expressInstall.swf", flashvars, attributes); 
</script> 
<![endif]-->

Поскольку вы загружаете flash через SWFObject, он гарантирует, что ваш скрипт не будет работать в IE.

Также попробуйте прослушивание браузера.(Не рекомендуется, но я не вижу здесь другого пути)

var isMSIE = /*@cc_on!@*/false;
if(!isMSIE){
    var flashvars = {};
    flashvars.xmlSource = "/files/theme/piecemakerXML.xml";
    flashvars.cssSource = "/files/theme/piecemakerXML.css";
    flashvars.imageSource = "/files/theme/";
    var attributes = {};
    attributes.wmode = "transparent";
    swfobject.embedSWF("/files/theme/piecemakerNoShadow.swf", "flashcontent", "980", "460", "10", "/files/theme/expressInstall.swf", flashvars, attributes);

}

Если это не сработает, попробуйте

var isMSIE = navigator.appName === 'Microsoft Internet Explorer';

Это может помочь вам: http://pipwerks.com/2011/05/18/sniffing-internet-explorer-via-javascript/

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