【问题标题】:Flash embedded in HTML doesn't appear in Chrome嵌入在 HTML 中的 Flash 不会出现在 Chrome 中
【发布时间】:2011-05-06 16:06:57
【问题描述】:

当我在 HTML 中嵌入 Flash 视频时,它可以在 IE 和 Firefox 中运行,但不能在 chrome 中运行。 我查了一下,发现chrome为embed标签添加了两个属性,宽度和高度。 我已经以像素为单位设置了嵌入标签中的宽度和高度属性,但由于某种原因,chrome 将其更改为百分比。当我检查元素并写入像素而不是百分比时,闪光灯再次可见。

这是嵌入

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
width="600" height="1300">
<param name="src" value="flash.swf" />
<param name="wmode" value="transparent" />
<embed type="application/x-shockwave-flash"
 width="600px" height="1300px" src="flash.swf"
 wmode="transparent">
</embed>
</object>

我该如何解决?

【问题讨论】:

    标签: flash google-chrome


    【解决方案1】:

    我已经使用这个 javascript 代码 sn-p 有一段时间了,它似乎可以在大多数浏览器中找到。为此,您需要 AC_RunActiveContent.js,从 http://www.adobe.com/devnet/activecontent/articles/devletter.html 下载它

    <script type="text/javascript">
    AC_FL_RunContent(
    'id', 'mediaPlayer',
    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
    'width', '480',
    'height', '360',
    'src', 'myFlashMovie.swf',
    'quality', 'high',
    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
    'align', 'middle',
    'play', 'true',
    'loop', 'true',
    'scale', 'showall',
    'wmode', 'window',
    'devicefont', 'false',
    'bgcolor', '#000000',
    'name', 'mediaPlayer',
    'menu', 'true',
    'allowFullScreen', 'true',
    'allowScriptAccess', 'sameDomain',
    'movie', 'myFlashMovie.swf',
    'salign', '');</script>
    

    【讨论】:

    【解决方案2】:

    我在本页底部贴了一个解决方案:Embedded Flash not working in Google Chrome?

    我在使用 chrome 时遇到了电影和 src 参数的问题。我认为 chrome 会忽略它们(因为我认为它们只存在于 IE 中)但事实并非如此。

    看看这是否适用于您的 html 代码:

    <!--[if IE]>
      <param name="src" value="flash.swf" />
    <![endif]-->
    

    其余部分保持不变。让我知道它是否适合你,因为我很好奇。我在javascript中去掉了src参数。

    【讨论】:

    • 嗨,我之前已经回答过了。你写了一个很好的解决方案,但不是针对这个问题,谢谢
    【解决方案3】:

    我知道这是一篇旧帖子,但我也遇到了这个问题,我找到了一个解决方案,当你在 worpress 中嵌入视频时,只使用“嵌入”标签,因为谷歌浏览器在读取“ object”标签,跳过里面的标签,

    旧代码

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="600" height="1300"><param name="src" value="flash.swf" /><param name="wmode" value="transparent" /><embed type="application/x-shockwave-flash" width="600px" height="1300px" src="flash.swf" wmode="transparent"></embed></object>
    

    新代码

    <embed type="application/x-shockwave-flash" width="600px" height="1300px" src="flash.swf" wmode="transparent"></embed>
    

    也正如@joshuahedlund 所建议的那样,可能是正确的答案,只是添加类型似乎可以解决问题

    <object type="application/x-shockwave-flash" ... > ... </object>
    

    【讨论】:

    • 谢谢!添加 type 属性对我有用。有一些带有&lt;object&gt; ... &lt;embed&gt;&lt;/embed&gt;&lt;/object&gt; 的旧代码最近在 Chrome 中无法运行,但仍在 FF 和所有 IE 中。添加 type="application/x-shockwave-flash 为 Chrome 修复了它,甚至无需删除 &lt;object&gt; 标记或进行任何其他更改,现在适用于所有浏览器。
    【解决方案4】:

    你为什么不试试正确的

    width="600" height="1300" 
    

    而不是

    width="600px" height="1300px" 
    

    (不是 HTML 标准)?

    【讨论】:

      【解决方案5】:

      在处理uploadify之后,我发现IE9需要classid属性,但Chrome却打破了它。考虑到这一点,没有非 js/非服务器端代码方式可以做到这一点。如果您声明它两次(带/不带 classid),它将在 IE 和 Chrome 中工作,但在 Firefox 中显示两个副本。

      【讨论】:

        【解决方案6】:

        此代码适用于所有浏览器(iexplore、firefox、chrome、..),您可以尝试http://civiro.com

        <object type="application/x-shockwave-flash" 
        width="740" height="470" data="civiro.swf">
        <param name="movie" value="civiro.swf">
        </object>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-11
          • 1970-01-01
          • 2012-04-01
          • 1970-01-01
          • 2020-07-28
          • 2010-09-23
          • 1970-01-01
          • 2015-01-03
          相关资源
          最近更新 更多