代码之家  ›  专栏  ›  技术社区  ›  meder omuraliev

2011年有没有理由放弃javascript flash嵌入方法?

  •  9
  • meder omuraliev  · 技术社区  · 14 年前

    • 查询能力 navigator 对象并查看安装了哪些flash版本,可能会在此基础上扩展并提供不同的内容
    • 连接flash的一致方法,因为脚本保留标记,通常只需指定 src , flashvars ,尺寸
    • 通过依赖helper实用程序来嵌入swf而不必担心复杂的细节,从而节省时间
    • 能够在每个站点嵌入多个对象时提供一致的回退。

    缺点:

    • 没有闪存但启用JS的设备将完全失败
    • 如果需要交叉代码的话,它是兼容的。常见的embed(甚至youtube)也有各种各样的bug,而且“最好的”跨浏览器似乎是在一个对象中嵌套一个对象 this

    利大于弊。我对移动内容的研究还不够深入,无法获得准确的意见。有人能想出原因吗?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Community CDub    7 年前

    缺点:

    1. 没有闪存但启用JS的设备

      正如@Lars在评论中指出的,我认为通过JS检测Flash是一种安全的方法,可以为不同的平台(OS、浏览器、Flash播放器版本)注入不同的内容(swf)。同时禁用Flash和JS的设备是那些可能会崩溃的设备,但这只是一个很小的百分比。我想不出一个简单的方法来避开它。

    2. 人们变得懒惰,不提供 回退内容。

    3. 如果需要的话,代码就是一团糟 跨浏览器兼容。有 常见嵌入的各种错误( 甚至是youtube的)和“最好的” 跨浏览器似乎正在嵌套 对象中的对象。我 服务器端方法并定义 嵌入一次代码并将其更改为 一个区域,但这使它不能 可嵌入/可用于CMS文本区域。

      我想我会在一定程度上同意这一点。不同的嵌入方法是一团糟。StackOverflow上有一个讨论这个问题的线程: Best way to embed flash in html

    在有些情况下,除了使用Flash之外别无选择,例如:带有上传百分比反馈的文件上传器(因为常规的输入标记类型文件太过时了)。当然有新的方法 upload progress bar using just javascript

        2
  •  2
  •   gthmb    14 年前

    even Adobe recommends using it .

    它使一些棘手的事情,如处理播放器版本要求,允许用户更新他们的Flash插件简单而直接。

    撇开SWFObject不谈,我认为能够使用客户端逻辑为任何插件嵌入内容将永远是一种方法;它提供了更多的机会来读懂用户的环境,并交付适当的内容。

    我想有一种说法是,它在客户端增加了另一种交付内容的要求,但我认为绝大多数用户都会启用JS。。。尤其是那些愿意消费Flash媒体的用户。

    希望有帮助:)

        3
  •  1
  •   zzzzBov    14 年前

    作为反问: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版本(本文提供了一个解决方法),这个方法就非常有效。