7

単純な YouTube iframe 埋め込みを Internet Explorer 8 で表示すると、JavaScript エラーがスローされるようです。これが新しいバグでない限り、誰かが私が間違っていることを見つけてくれることを願っています。

再現方法:

  1. Internet Explorer 8 を開き、F12 を押して開発者ツールを起動します。
  2. 「コンソール」タブに切り替えて、JavaScript コンソールを表示します
  3. youtube.com から直接コピーした iframe 埋め込みであるhttp://ehough.com/ie8-youtube.htmlにアクセスし、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 の埋め込み機能に、「古い埋め込みコードを使用する」というラジオ ボタンがありました。これは、Iframe の代わりに Flash Player を使用する古いスタイルの埋め込みコードです。

ただし、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 動画の URL はこちら]」というテキストが表示されますか? そのプレースホルダーを、YouTube ビデオ URL の最後に表示されるランダムなものに置き換えます。以下に例を示します。

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

上記の動画 URL を埋め込むには、「[ここに YouTube 動画の URL]」を「NUjbKaUcxeA」に置き換える必要があります。

IE8、さらには IE7 でも動作させたい場合は、古いスタイルの埋め込みコードを使用する必要があります。古いスタイルの埋め込みコードは、最新のブラウザーでも機能します。 

于 2014-12-19T00:13:57.893 に答える