【发布时间】:2010-07-16 04:48:58
【问题描述】:
如果客户端浏览器未启用 Flash,我想用静态图像替换 Flash 横幅。
我想知道我是否可以使用 php 来做到这一点 - 或者是否有人知道一个好的方法
谢谢
【问题讨论】:
如果客户端浏览器未启用 Flash,我想用静态图像替换 Flash 横幅。
我想知道我是否可以使用 php 来做到这一点 - 或者是否有人知道一个好的方法
谢谢
【问题讨论】:
允许<object>(您的 Flash 电影)降级:
<object width="640" height="480">
<param name="movie" value="yourflash.swf">
<img src="yourimage.png">
</object>
如果 Flash 视频也无法加载,这将显示图像。
【讨论】:
<object> 如果无法呈现对象,则呈现子元素。 @Erik Escobedo,不;您不能直接降级为脚本。示例:jsbin.com/isigeThe standard specifies:“出现在 SCRIPT 元素中的脚本在文档加载时执行。”
您只能使用 javascript,使用 navigator.plugins 接口来执行此操作。比如:
if(typeof navigator.plugins['Shockwave Flash']!=='undefined'){ }
但是,一个不需要任何 javascript 的更可靠的解决方案就是将备用图像放置在 flash 对象的“后面”,这样如果 flash 没有出现,图像就会显示出来。您可以在 Flash <object/> 中放置 <img/> 标记,也可以在对象上放置 CSS 背景图像。
【讨论】:
http://code.google.com/p/swfobject/
这是我在需要嵌入 Flash 时使用的,它会检查相关支持以及需要哪些元素。
【讨论】:
我认为您不能使用 PHP 进行检查,您可以使用 javascript 或 SWF 文件中的 Actionscript 进行检查。这是官方的检测试剂盒:
http://www.adobe.com/products/flashplayer/download/detection_kit/
【讨论】:
你可以使用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,但这是它唯一的主要缺点
【讨论】: