swfobject.jsとjqueryを使用してYouTubeビデオをロードし、YouTubeRSSからいくつかのjsonデータを取得する2つの関数があります。
どちらの関数も非常によく似たコードを使用して、swfobject.jsで動画を埋め込みます。IE8をロードすると、ダイアログボックスが表示されて次のように表示されます。
Line: 4
Char: 5
Error: not implemented
Code: 0
はいを押すと、すべてのビデオが読み込まれます。NOを押すと、3つのビデオのうち1つだけがロードされます。なぜそのうちの1つがロードされるのか、他はロードされないのかを知りたいだけです。IE8がここで気に入らない邪魔なコードはありますか?
「はい」または「いいえ」を押した場合に読み込まれるコードは次のとおりです。
function getVideo(videoID, divName){//Gets yt video for yt category posts
var videoURL = videoID;
var divID = divName+'-video';
var width = 392; //only change this number
var height = Math.floor(width*9/16);
var params = { allowScriptAccess: "always" };
var atts = { 'class': 'hmt-ytvideo' };
swfobject.embedSWF("http://www.youtube.com/v/"+videoURL+"?enablejsapi=1&playerapiid=ytplayer&version=3",
divID, width, height, "8", null, null, params, atts);
}
<script type="text/javascript">
var youtubeID = '<?php echo $urlYoutube; //pass the php var to js var?>';
var divID = '<?php echo $divName; //pass the php var to js var?>';
addLoadEvent(getVideo(youtubeID, divID));//Onload function to output video
</script>
yesを押すとロードされ、noを押すとロードされないコードは次のとおりです。
function getFirstSideVideo(){
//First sidebar video, represented by the url 'start-index' value
$j.getJSON(rssFeedURL, function(data) {
$j.each(data.feed.entry, function(i, item) {
var updated = item.updated;
var urlLink = item['link'][4]['href'];
var width = 315; //only change this number
var height = width*9/16;
//SWF object params
var videoURL = urlLink.split('/uploads/')[1];
var params = { allowScriptAccess: "always" };
var atts = { 'class': 'hmt-ytvideo' };
var divID = 'first-sidebar-video';
//Output video with swf object
swfobject.embedSWF("http://www.youtube.com/v/"+videoURL+"?enablejsapi=1&playerapiid=ytplayer&version=3",
divID, width, height, "8", null, null, params, atts);
});
});
}
<script type="text/javascript">//Onloads the function to output the video
addLoadEvent(getFirstSideVideo);
</script>