私はJQueryを初めて使用し、YouTubeプレイリストをサムネイルで表示しようとしています。ユーザーがサムネイルをクリックすると、ビデオはモーダルポップアップで再生されます。プレイリストIDに基づいてYouTubeプレイリストを取得するコードを見つけましたが、これはうまく機能します。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Vidz</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type='text/javascript'>//<![CDATA[
$(window).load(function () {
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/8F9409C187634853?v=2&alt=json&callback=?';
var videoURL = 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function (data) {
var list_data = "";
$.each(data.feed.entry, function (i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var url = videoURL + videoID;
var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";
list_data += '<li><a href="' + url + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a></li>';
});
$(list_data).appendTo(".cont");
});
});//]]>
</script>
</head>
<body>
<ul class="cont"></ul>
</body>
</html>
無限のJQueryポップアップの例を見つけましたが、問題は、これらすべてがこの例で使用されているものとは異なるバージョンのJQueryを使用しているため、互いにキャンセルし、モーダルポップアップが機能しないことです。
ユーザーがクリックしたビデオでモーダルポップアップを作成する方法を教えてもらえますか?
更新:ついに、JQueryの競合の問題を解決する何かを見つけました。他のjqueryスクリプトの前に、jquery.min.jsを最初にロードする必要があるようです。これでほとんどの問題は解決しましたが、新しい問題が発生しました。リンクは必要に応じて表示されますが、クリックしても何も起こりません。IE9でF12機能を使用して、生成されていたHTMLを確認することにしました。すべて良さそうですが、ここで奇妙になります。ページでソースを表示すると、同じコードが表示されます。上記のように。F12を使用して表示すると、すべてのhtmlタグが表示されます。F12の内容を新しいファイルに保存してIEで開くと、機能します。それで、違いは何ですか?IEは必要なhtmlを書き出していないのですか?今完全に失われました.....
更新#2:jqueryモーダルポップアップを含む最新のコードは次のとおりです。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Vidz</title>
</head>
<body>
<a title="01212012 Country Ham House rally" class="youtube" href="#" rel="vLZ5pIfrhNI">ham</a><br />
<div class="cont"></div>
</body>
</html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type='text/javascript'>//<![CDATA[
$(window).load(function () {
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/8F9409C187634853?v=2&alt=json&callback=?';
var videoURL = 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function (data) {
var list_data = "";
$.each(data.feed.entry, function (i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var url = videoURL + videoID;
var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";
//list_data += '<li><a href="' + url + '" title="' + feedTitle + '" rel="' + videoID + '"><img alt="' + feedTitle + '" src="' + thumb + '"</a></li>';
list_data += '<a class="youtube" href="#" rel="' + videoID + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a><br>';
});
$(list_data).appendTo(".cont");
});
});//]]>
</script>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css" rel="stylesheet" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://wo.simcare.biz/jquery.youtubepopup.js"></script>
<script type="text/javascript">
$(function () { $("a.youtube").YouTubePopup({ autoplay: 0 }); });
</script>
静的リンク「ham」でわかるように、ビデオはポップアップに問題なく表示されます。ただし、サムネイル付きのビデオ(jquery関数によって作成されたもの)はどれも機能しません。
考え???