Youtube api fix
authorOlga Brani <olgabrani78@gmail.com>
Mon, 23 Sep 2013 11:20:44 +0000 (14:20 +0300)
committerOlga Brani <olgabrani78@gmail.com>
Mon, 23 Sep 2013 11:20:44 +0000 (14:20 +0300)
Fixed synchronazation problem when loading iframe_api and trying
to run onYouTubeIframeAPIReady function.
Solution is to load iframe_api after YT.Player object is created.

cloudcms/templates/cms/base.html
cloudcms/templates/content/intro_video.html

index a947c70..669610d 100644 (file)
@@ -28,7 +28,6 @@
   {% endblock css %}
 
   {% block headjs %}
-      <script src="https://www.youtube.com/iframe_api"></script>
       <script src="{{ MEDIA_URL }}cloudcms/js/jquery-1.7.1.min.js"></script>
       <script src="{{ MEDIA_URL }}cloudcms/js/underscore.js"></script>
       <script src="{{ MEDIA_URL }}cloudcms/js/jquery.infieldlabel.js"></script>
index a9ad810..2ab743e 100644 (file)
@@ -6,7 +6,6 @@
 </div>
 
 <script>
-
        var video_settings = {
                'wrapper': $(".video-thumb"),
                'youtube_id': '{{ content.youtube_id}}',
                var youtube = new YouTube(video_settings);
                window.youtube = youtube;
        }
-</script>
\ No newline at end of file
+
+       // This code loads the IFrame Player API code asynchronously.
+       var tag = document.createElement('script');
+       tag.src = "https://www.youtube.com/iframe_api";
+       var firstScriptTag = document.getElementsByTagName('script')[0];
+       firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
+</script>