Estoy creando una incrustación de reproductor de youtube a través de la API YT pero sigo recibiendo una alerta de que la variable YT no está definida. Puedo ver que el script de la API de youtube se está incluyendo, lo que se supone que crea la variable YT, entonces, ¿por qué no funciona? Funciona en otro lugar en mi sitio.javascript/youtube api - la variable YT no está definida
Aquí está el enlace:
http://oncreativity.tv/site/single/4/7CtQaTmEuWk
y mi código:
<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>
Ah, gracias! Eso explicaría un comportamiento errático que estaba obteniendo en otra parte de mi sitio también cuando no se almacenaba nada en la memoria caché. – mheavers
De nada. Me alegro de poder ayudar. –