【问题标题】:Flash - Firefox issueFlash - Firefox 问题
【发布时间】:2010-12-05 06:07:05
【问题描述】:

我意识到如果我确实有一个 flash 对象并且不包含“wmode”属性,我将无法覆盖 HTML,因为 flash 将始终在顶部播放。但是,如果我确实包含了 'wmode:transparent' ,则 flash 对象会在 Firefox 中完全消失,而如果我使用 'wmode:opaque' ,我会得到一个白框来代替 Flash 对象。

我查看了许多论坛 - 许多问题 - 但不知何故,当每个人使用上述属性之一时,他们的问题都会得到解决。所以....帮助!!!

注意:在 IE 中使用任一属性都可以。

【问题讨论】:

    标签: flash internet-explorer firefox wmode


    【解决方案1】:

    看起来您是从 Flash 的角度来看的 - 我不确定您是如何生成 HTML 包装器的,但如果您使用 Flex,您会得到类似于以下代码的内容。 我知道它会生成一个透明的包装器,因为几天前我不得不将它作为可交付成果的透明呈现给客户。点击here for the demo I used

    这是我的确切 html 包装代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    

    This application was built using Adobe Flex, an open source framework
    for building rich Internet applications that get delivered via the
    Flash Player or to desktops via Adobe AIR. 
    
    Learn more about Flex at http://flex.org 
    // -->
    <head>
        <title>${title}</title>         
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <!-- Include CSS to eliminate any default margins/padding and set the height of the html element and 
             the body element to 100%, because Firefox, or any Gecko based browser, interprets percentage as 
             the percentage of the height of its parent container, which has to be set explicitly.  Initially, 
             don't display flashContent div so it won't show if JavaScript disabled.
        -->
        <style type="text/css" media="screen"> 
            html, body  { height:100%; }
            body { margin:0; padding:0; overflow:auto; text-align:center; }   
            #flashContent { display:none; }
        </style>
    
        <!-- Enable Browser History by replacing useBrowserHistory tokens with two hyphens -->
        <!-- BEGIN Browser History required section ${useBrowserHistory}>
        <link rel="stylesheet" type="text/css" href="history/history.css" />
        <script type="text/javascript" src="history/history.js"></script>
        <!${useBrowserHistory} END Browser History required section -->  
    
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
    
            if (window.XMLHttpRequest)
            {
                xhttp=new window.XMLHttpRequest();
            }
            else // for older IE 5/6
            {
                xhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET","ShowcaseConfig.xml",false);
            xhttp.send("");
            xmlDoc=xhttp.responseXML;
            var xmlString=xhttp.responseText;
    
            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 
            var swfVersionStr = "${version_major}.${version_minor}.${version_revision}";
            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
            var xiSwfUrlStr = "${expressInstallSwf}";
            var flashvars = {};
            var params = {};
            params.quality = "high";
            params.bgcolor = "${bgcolor}";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            params.wmode = "transparent";
            var attributes = {};
            attributes.id = "${application}";
            attributes.name = "${application}";
            attributes.align = "middle";
            swfobject.embedSWF(
                "${swf}.swf", "flashContent", 
                "${width}", "${height}", 
                swfVersionStr, xiSwfUrlStr, 
                flashvars, params, attributes);
            <!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
            swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>
    </head>
    <body>
        <!-- SWFObject's dynamic embed method replaces this alternative HTML content with Flash content when enough 
             JavaScript and Flash plug-in support is available. The div is initially hidden so that it doesn't show
             when JavaScript is disabled.
        -->
        <div style="background-image:url(desert_short.jpg); border: 2px solid #000000;">
    
    
        <div id="flashContent">
            <p>
                To view this page ensure that Adobe Flash Player version 
                ${version_major}.${version_minor}.${version_revision} or greater is installed. 
            </p>
            <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>
    
        <noscript>
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="${width}" height="${height}" id="${application}">
                <param name="movie" value="${swf}.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="${bgcolor}" />
                <param name="allowScriptAccess" value="sameDomain" />
                <param name="allowFullScreen" value="true" />
                <param name="wmode" value="transparent"> 
                <!--[if !IE]>
                <object type="application/x-shockwave-flash" data="${swf}.swf" width="${width}" height="${height}">
                    <param name="quality" value="high" />
                    <param name="bgcolor" value="${bgcolor}" />
                    <param name="allowScriptAccess" value="sameDomain" />
                    <param name="allowFullScreen" value="true" />
                <![endif]-->
                <!--[if gte IE 6]>
                    <p> 
                        Either scripts and active content are not permitted to run or Adobe Flash Player version
                        ${version_major}.${version_minor}.${version_revision} or greater is not installed.
                    </p>
                <![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>
        </noscript>     
    

    希望这会有所帮助。查看我的博客here 了解其他一些不错的示例和组件。

    干杯,

    半胱氨酸

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 2011-09-07
      相关资源
      最近更新 更多