使用JS嵌入flash的好处就是我的知识:
navigator
对象并查看安装了哪些Flash版本的功能,可能会分支出来并根据此提供不同的内容src
,flashvars
,尺寸缺点:
优点似乎超过了缺点。我在移动内容方面做得不够,无法获得准确的意见。任何人都可以想到原因/为什么不这样做?
答案 0 :(得分:3)
缺点:
没有闪存但启用了JS的设备 将完全失败
正如@Lars在他的评论中指出的那样,我认为通过JS检测Flash是一种为不同平台(操作系统,浏览器,Flash Player版本)注入不同内容(swf)的一种安全方法。同时禁用Flash和JS的设备是所有地狱可能会破坏的设备,但这只是一个非常小的百分比。我想不出一个容易的方法来规避这一点。
人们变得懒惰,不提供 后备内容。
这显然是非常主观的。我使用SwfObject的经验很少但在我的情况下,当我们检测到NO FLASH情况时,我们回到了一个基于HTML DOM的纯解决方案,使用大量的JS来模拟模块。我的观点是,使用SwfObject,提供替代内容非常容易,我不明白为什么任何优秀的开发人员都不会这样做。
如果需要,代码就是一团糟 跨浏览器兼容。有 各种常见嵌入的bug( 甚至youtube的)和“最好的” 跨浏览器似乎是嵌套的 每个对象在一个对象中。一世 尽管如此,我可以使用一个 服务器端方法并定义 嵌入代码一次并将其更改为 一个区域,但这不是 可嵌入/可用于CMS textareas。
我想我会在一定程度上同意这一点。不同的嵌入方法是一团糟。 StackOverflow上有这个主题讨论这个问题:Best way to embed flash in html
在某些情况下除了使用Flash之外别无选择:例如:具有上传百分比反馈的文件上传器(因为常规INPUT标签类型文件太过陈旧)。当然,有一种新的方法可以做upload progress bar using just javascript,但它不适用于你知道IE:)
在这种情况下,没有办法摆脱Flash恕我直言。
答案 1 :(得分:2)
我没有看到放弃JS flash嵌入的充分理由。 SWFObject现在非常普遍(伪标准甚至!)和even Adobe recommends using it。
它可以处理播放器版本要求,并允许用户轻松直接地更新Flash插件。
除了SWFObject之外,我认为能够使用客户端逻辑嵌入任何插件的内容将始终是要走的路;它提供了更多机会来阅读用户的环境,并提供适当的内容。我认为可以说它在客户端添加了另一个要求来提供内容,但我认为绝大多数用户都会启用JS ...尤其是那些愿意使用Flash媒体的用户
希望有所帮助:)
答案 2 :(得分:1)
作为一个反问题:2011年有没有理由使用javascript嵌入方法?
我发现flash satay方法最适合跨浏览器,并遵循大多数DRY政策。
标记如下:
<object id="something" name="something" type="application/x-shockwave-flash" data="path/to/file.swf">
<param name="movie" value="path/to/file.swf" />
<param name="flashvars" value="query=string" />
<!-- Backup content here -->
</object>
只要你不关心检查用户的flash版本(这篇文章中提供了解决方法),这种方法很有效。