7

在 Internet Explorer 8 中查看时,简单的 YouTube iframe 嵌入似乎会引发 JavaScript 错误。希望有人能找到我做错了什么——除非这是一个新错误?

如何重现:

  1. 打开 Internet Explorer 8 并按 F12 以调出开发者工具
  2. 切换到“控制台”选项卡以观看 JavaScript 控制台
  3. 访问http://ehough.com/ie8-youtube.html,这是直接从 youtube.com 复制的 iframe 嵌入,并查看 JavaScript 错误

错误:

SCRIPT5007: Unable to get value of the property 'getActivated': object is null or undefined 
ie8-youtube.html, line 28 character 128

SCRIPT5020: Expected ')' in regular expression 
html5player-vflR_cX32.js, line 675 character 708

SCRIPT438: Object doesn't support property or method 'SetReturnValue' 
www-embed-vflqDUnF8.js, line 66 character 56

SCRIPT438: Object doesn't support property or method 'SetReturnValue' 
uVlr4eYkNjY, line 1 character 1

有人对此有任何见解吗?

4

1 回答 1

1

IE8 及以下不支持太多现代的东西。但我很确定它可以在 IE9 及更高版本上运行。我在 IE10 上进行了测试(我的电脑上没有 IE8),它工作得很好。

在 Youtube 嵌入功能上,曾经有一个单选按钮,上面写着“使用旧的嵌入代码”。那是使用 Flash Player 而不是 Iframe 的旧式嵌入代码。

然而,Youtube 在 2014 年年中取消了这个选项。

还有一种方法可以获得旧式嵌入代码。下面的代码片段显示了一个通用的旧式嵌入代码。

<object width="560" height="315"><param name="movie" 
value="http://www.youtube.com/v/ [your Youtube video URL here] ?version=3&hl=en_US"></param><param
name="allowFullScreen" value="true"></param><param 
name="allowscriptaccess" value="always"></param><embed 
src="http://www.youtube.com/v/ [your Youtube video URL here] ?version=3&hl=en_US" 
type="application/x-shockwave-flash" width="560" height="315" 
allowscriptaccess="always" 
allowfullscreen="true"></embed></object>

您是否看到“[您的 Youtube 视频网址]”文字吗?用您在 Youtube 视频 URL 末尾看到的随机内容替换该占位符。一个例子如下所示。

https://youtube.com/watch?v= NUjbKaUcxeA

要嵌入上面的视频 URL,您应该将“[您的 Youtube 视频 URL]”替换为“NUjbKaUcxeA”。

如果您希望它在 IE8 甚至 IE7 上工作,您应该使用旧式嵌入代码。旧式嵌入代码也适用于现代浏览器。 

于 2014-12-19T00:13:57.893 回答