私は会社のウェブサイトにYouTubeビデオを追加していて、非フラッシュデバイスで表示したいと考えています。私はYouTubeのiframe APIを使って遊んでいて、ユーザーがリンクをクリックしてiframe内の動画を変更できるようにその例を更新しました。編集したコードは次のとおりです。youtube iframe api loadVideoById()エラー
function loadVideo(videoID) {
if(player) { player.loadVideoById(videoID); }
}
これは、サファリ、ChromeとFirefoxで正常に動作しますが、IE7と8ではIE7、8または9で動作しません:私は追加
<!DOCTYPE HTML>
<html>
<body>
<div id="player"></div>
<script>
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var done = false;
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'JW5meKfy3fY',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(evt) {
evt.target.playVideo();
}
function onPlayerStateChange(evt) {
if (evt.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
function loadVideo(videoID) {
if(player) { player.loadVideoById(videoID); }
}
</script>
<a href="javascript:loadVideo('kGIjetX6TBk');">Click me to change video</a>
</body>
</html>
唯一のものでした「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーを返します。
これはAPIの問題ですか?何か問題がありますか?
解決しました。 '... events:{'onReady':function(){...}' – Xeoncross