我創建了一個通過YT API嵌入的YouTube播放器,但我不斷收到變量YT未定義的提醒。我可以看到,youtube API的腳本正在被包含,這應該是創建變量YT - 那麼爲什麼這不起作用呢?它在我的網站的其他地方工作。javascript/youtube api - 變量YT未定義
這裏的鏈接:
http://oncreativity.tv/site/single/4/7CtQaTmEuWk
和我的代碼:
<script>
$(document).ready(function() {
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 player;
var videoSupport = Modernizr.video;
var ua = navigator.userAgent.toLowerCase();
var vid = {};
var params = { allowScriptAccess: "always" };
var atts = { id: "video_player_flash" };
{exp:channel:entries channel="creators" dynamic="off" entry_id="{segment_3}" sort="asc" limit="1"}
vid.description = "{creator_description}";
vid.videoID = '{segment_4}';
vid.link = encodeURI("{creator_link}");
vid.title = "{title}";
vid.photos = [];
{creator_work}
vid.photos[{row_index}] = {};
vid.photos[{row_index}].url = "{work_img}";
vid.photos[{row_index}].title = "{work_title}";
{/creator_work}
{/exp:channel:entries}
var $vidContainerRef = $('#video_player_container');
var $vidPlayer = $('<div id="video_player"/>');
$vidContainerRef.append($vidPlayer);
vidID = vid.videoID;
player = new YT.Player('video_player', {
width: '768',
height: '432',
videoId: vidID,
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
});
</script>
啊 - 謝謝!這可以解釋我在網站上其他地方發生的一些反常行爲,當沒有任何內容被緩存時。 – mheavers
不客氣。很高興我能幫上忙。 –