【问题标题】:How to I check to see if the browser supports flash?如何查看浏览器是否支持flash?
【发布时间】:2010-07-16 04:48:58
【问题描述】:

如果客户端浏览器未启用 Flash,我想用静态图像替换 Flash 横幅。

我想知道我是否可以使用 php 来做到这一点 - 或者是否有人知道一个好的方法

谢谢

【问题讨论】:

    标签: php flash


    【解决方案1】:

    允许<object>(您的 Flash 电影)降级:

    <object width="640" height="480">
    <param name="movie" value="yourflash.swf">
        <img src="yourimage.png">
    </object>
    

    如果 Flash 视频也无法加载,这将显示图像。

    【讨论】:

    • +1 我相信这是正确的方法。简单明了,都是优秀代码的特征。只是一个问题,@strager。你可以在降级代码中编写 JavaScript 来代替执行吗?
    • @user304828,是的; &lt;object&gt; 如果无法呈现对象,则呈现子元素。 @Erik Escobedo,不;您不能直接降级为脚本。示例:jsbin.com/isigeThe standard specifies:“出现在 SCRIPT 元素中的脚本在文档加载时执行。”
    【解决方案2】:

    您只能使用 javascript,使用 navigator.plugins 接口来执行此操作。比如:

    if(typeof navigator.plugins['Shockwave Flash']!=='undefined'){ }

    但是,一个不需要任何 javascript 的更可靠的解决方案就是将备用图像放置在 flash 对象的“后面”,这样如果 flash 没有出现,图像就会显示出来。您可以在 Flash &lt;object/&gt; 中放置 &lt;img/&gt; 标记,也可以在对象上放置 CSS 背景图像。

    【讨论】:

    • 谢谢,但它适用于 FireFox ,但不适用于 Chrome ?你能帮帮我吗?
    • JavaScript 不起作用或 中的 不起作用 - 如果可能的话,我强烈建议做第二个 - 这比使用 javascript 好得多.
    • P.S.我刚刚在我的 Chrome 版本中测试了上面的 javascript - 它似乎有效。你有什么版本?
    • 我启用了Shockware Flash。并用代码测试以显示浏览器的所有插件。使用 Chorme,我看不到防震器闪存。使用 Firefox,我可以看到Shockware Flash。 -->if(typeof navigator.plugins['Shockwave Flash']!=='undefined'){ } . 使用 FF 而不是 Chrome
    【解决方案3】:

    http://code.google.com/p/swfobject/

    这是我在需要嵌入 Flash 时使用的,它会检查相关支持以及需要哪些元素。

    【讨论】:

      【解决方案4】:

      我认为您不能使用 PHP 进行检查,您可以使用 javascript 或 SWF 文件中的 Actionscript 进行检查。这是官方的检测试剂盒:

      http://www.adobe.com/products/flashplayer/download/detection_kit/

      【讨论】:

        【解决方案5】:

        你可以使用SWFobject

        使用 SWFobject 默认显示替代代码,例如

        <div id="myContent">
           <p>Alternative content</p>
        </div>
        

        然后在可能的情况下将其替换为如下所示的 Flash 内容:

        <script type="text/javascript">
        swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
        </script>
        

        它确实依赖于 JavaScript,但这是它唯一的主要缺点

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-13
          • 2020-01-04
          • 2018-06-01
          • 1970-01-01
          • 2018-02-24
          • 2015-06-26
          • 2016-07-11
          相关资源
          最近更新 更多