代码之家  ›  专栏  ›  技术社区  ›  Robert

嵌入的YouTube代码无法验证

  •  2
  • Robert  · 技术社区  · 14 年前

    虽然验证我的页面对某些人来说不是一个大问题,但我个人希望我的页面在可能的时候进行验证,因为我觉得无论编译器/浏览器/阅读您代码的人是否理解您的代码,正确地编写代码都是一个好习惯。

    不管怎样,我正在为一个客户建立一个网站,这个客户要求在页面中嵌入他们的YouTube视频。很简单,我从YouTube上抓起代码扔到页面上。当然,它可以工作,但是页面现在不能在XHTML1.0下严格验证,仅仅是因为YouTube生成的代码。

    我是在打一场失败的仗吗?我应该忽略这样一个事实:因为这个片段,这个页面无法验证吗?

    不是真正的视频,只是示例代码

    <object width="480" height="385">
    <param name="movie" value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
    </object>
    
    4 回复  |  直到 14 年前
        1
  •  3
  •   Daniel Cassidy    14 年前
    <object type="application/x-shockwave-flash"
        data="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"
        width="480" height="385">
      <param name="movie"
          value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"/>
      <param name="allowFullScreen" value="true"/>
      <param name="allowscriptaccess" value="always"/>
    </object>
    

    这应该适用于IE、Firefox、Opera、Safari和Chrome。

    这个 data 的属性 <object> 以及 movie 参数必须同时存在并且必须具有相同的值。

    在IE中,这会阻止SWF流式传输,例如,呈现预加载程序,但这对YouTube来说应该不是问题。

    有关详细信息以及最后一个问题的解决方法,请参阅 Flash Satay: Embedding Flash While Supporting Standards .

        2
  •  0
  •   fehays    14 年前
        3
  •  0
  •   Moses    14 年前

    这个 <embed> 标记是HTML5的新特性,很可能您使用的验证程序不是完全最新的。所有这些代码在XHTML1.0中应该都非常好。

        4
  •  0
  •   user5340092 user5340092    7 年前

    <object type="application/x-shockwave-flash" data="https://www.youtube.com/v/YourVideoID" width="100%" height="100%"></object>