繁体   English   中英

如何使用swfobject 2.1自定义“旧版本” SWF输出?

[英]How to customise “old version” SWF output, with swfobject 2.1?

我一直在为最近的项目使用swfobject,它很棒。 但是,既然我已经成功启动并在Firefox中运行FlashSwitcher,我注意到当我运行Flash Player 7时,当我运行的版本低于指定的版本时显示的信息已经过自定义(在这种情况下, swfobject嵌入代码所在的Moodle页面)。 附件是由Moodle生成的输出SWF的屏幕截图。 我可以确认我的一些用户也看到了此消息,因此我的FlashSwitcher正常运行。

我的大部分用例Moodle的背景之外,他们是独立的,我后是他们究竟是如何定制它,我怎样才能改变自己的定制,以及如何我可以做同样的当SWFObject的检测是独立的。

请注意,强制用户通过ExpressInstall升级其Flash Player插件已被客户端拒绝,他们希望采取有启发性的措施和链接-但没有自动安装或类似措施。

我的实现使用“两次熟”方法,因为如果用户既没有Flash也没有Java脚本,或者两者都不具备,则我具有可访问性要求以显示非Flash内容。 这是我的embed方法调用,它在YUI2文档加载事件触发时执行:

swfobject.embedSWF("../../swf/video-loader.swf", "flash_object_a", "877", "400", "8.0");

最终,我想将“旧版本”输出自定义为我创建/编写的内容。

Moodle上下文中的swfobject 2.1旧版本通知的屏幕快照

欢呼声,d

您可以使用swfobject的getFlashPlayerVersion方法( 在此处说明)来检查Flash Player版本并采取适当的措施。

一个简单的例子是:

var has_version_8_or_greater = swfobject.hasFlashPlayerVersion("8");

if(has_version_8_or_greater){
   //embed SWF using SWFObject
} else {
   //Check to see whether an older version of Flash is found.
   var version = swfobject.getFlashPlayerVersion();
   if(version.major > 0){
      //You have Flash but it's too old.
      var version_str = version.major + "." + version.minor + "." + version.release;
      alert("You have Flash Player version " + version_str + ". Please update!");
   } else {
      //You don't have Flash.
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM