代码之家  ›  专栏  ›  技术社区  ›  Carlos Muñoz Boom

不支持HTML中的标记

  •  3
  • Carlos Muñoz Boom  · 技术社区  · 15 年前

    在ASP.NET项目中,使用 <embed >标记放置.swf:

    Warning: Validation (XHTML 1.0 Transitional): Element 'embed' is not supported.

    “支持”的替代方法是什么????

    5 回复  |  直到 11 年前
        1
  •  6
  •   James M. Greene Victor Sheyanov    11 年前

    非标准 embed XHTML中不支持标记,而支持基于标准的标记 object 元素。见 http://www.bernzilla.com/item.php?id=681 有关这方面的更多信息,但简而言之:

    <object type="application/x-shockwave-flash" data="c.swf?path=movie.swf" width="400" height="300">
        <param name="movie" value="c.swf?path=movie.swf" />
        <img src="noflash.gif" width="200" height="100" alt="No Flash" />
    </object>
    

    记住,尽管使用 对象 在旧的浏览器中并不总是能正常工作,所以先使用这两种格式做一些测试。除了一张单子外,还有一篇精彩的文章叫做 Flash Satay: Embedding Flash While Supporting Standards “它向您展示了跨浏览器实现它的方法,如上面的示例所示。

        2
  •  4
  •   Ben Regenspan    15 年前

    可能值得一看 SWFObject 很多项目都使用它,这样他们就可以验证视频,也可以轻松地以跨浏览器的方式动态嵌入视频。如果您不需要动态嵌入或版本检测,那么flash-saty方法是另一种好方法。

        3
  •  3
  •   Kornel    15 年前

    HTML5(因此XHTML5)现在允许 <embed> 元素。切换到HTML5( <!DOCTYPE html> )它将验证。

        4
  •  2
  •   Dereleased    15 年前

    本文非常详细地描述了如何在维护标准的同时嵌入闪存文件:

    A List Apart: Flash Satay: Embedding Flash While Supporting Standards

        5
  •  2
  •   meder omuraliev    15 年前

    使用一个 <object> 元素。

    见: http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.3

    embed 不是标准的,但得到了最广泛的支持。

    <object type="application/x-shockwave-flash" data="movie.swf">
         <param name="movie" value="movie.swf" /> 
    </object>
    

    当然,对于窗口模式(wmode)等,您可以使用其他参数元素。但是请注意,在IE中,需要单击电影才能激活,这就是为什么许多人使用JS动态替换元素 嵌入 对于所有浏览器,无需在IE中单击。