【问题标题】:Why does this youtube embed code stop working if I remove the embed tag?如果我删除了嵌入标签,为什么这个 youtube 嵌入代码会停止工作?
【发布时间】:2011-10-23 04:40:34
【问题描述】:

我知道嵌入代码在对象标签内有一个嵌入标签,作为 IE 和旧浏览器的后备。但是,例如,如果我采用以下代码:

    <object width="400" height="336"><param name="movie" value="http://www.youtube.com/v/_25bsKcXw5o&rel=0&egm=0&showinfo=0&fs=1">
<param name="wmode" value="transparent"></param>
<param name="allowFullScreen" value="true"></param>
<embed src="http://www.youtube.com/v/_25bsKcXw5o&rel=0&egm=0&showinfo=0&fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"></embed>
</object>

并删除嵌入:

<object width="400" height="336"><param name="movie" value="http://www.youtube.com/v/_25bsKcXw5o&rel=0&egm=0&showinfo=0&fs=1">
<param name="wmode" value="transparent"></param>
<param name="allowFullScreen" value="true"></param>
</object>

它不会在 Chrome 或 Firefox 中显示。为什么?这对任何人都有意义吗?我尝试了几个不同的视频,所有视频都出现了同样的情况。

我这样做的原因是因为我想确定应该在哪里更改 youtube url 属性(以更改播放器的行为)。在进行了更多测试后,我还注意到 Chrome 正在响应我对嵌入标签参数所做的更改,而不是对对象的...

【问题讨论】:

  • 为什么不使用较新的 iframe 代码?
  • 说来话长,但基本上youtube嵌入是由用户提供的,所以我无法控制使用哪个版本。
  • hmm 询问视频网址并生成您自己的代码怎么样?对于现有条目,您可以使用一些正则表达式从提交的代码中挑选视频 id..
  • 这将使您完全控制代码。顺便说一句,这很明显,但你确保用户不能添加错误代码吗?
  • 我不确定,所以我将此作为评论而不是答案,但我相信您需要将 data="yout..." 作为对象元素的属性它可以在非 IE 浏览器中工作。 embed 标签不是 IE 的后备标签,但最初是用于 Netscape,后来被其他非 IE 浏览器使用(我相信在 HTML5 中再次有效),我不确定今天哪些浏览器呈现 embed 标签,以及在什么情况下。

标签: html flash browser youtube youtube-api


【解决方案1】:

这是一个link to Adobe,它详细解释了OBJECTEMBED 标签。

【讨论】:

  • 很遗憾听到这个消息。对我来说,它是这样说的:默认情况下,OBJECT 使用 ActiveX 组件来播放电影,而如果有一个指向 Flash 播放器插件的 EMBED 标签,那么这就是正在使用的东西。顺便说一句,并非所有浏览器都支持 ActiveX,这对我来说解释了你的问题和不同的浏览器行为......
猜你喜欢
  • 1970-01-01
  • 2012-12-25
  • 1970-01-01
  • 2020-05-16
  • 2013-02-16
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多