Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Youtube IFrame Player API externs for Haxe

Overview

This is extern for Haxe. A tool for controlling Youtube with Javascript for everyone.

Original API document: https://developers.google.com/youtube/iframe_api_reference

Example

If you use Youtube.init, loading Youtube IFrame Player API with HTML is unnecessary.

Please refer to the following haxe code or example directory.

HTML code.

<div id="video" data-video-id="M7lc1UVf-VE"></div>

Haxe code:

import js.Browser;
import js.html.Element;
import js.youtube.Youtube;
import js.youtube.YoutubePlayer;

class Main {

    public static function main():Void {

        Browser.window.addEventListener('DOMContentLoaded',function() {

            Youtube.init(onAPIReady);

        });

    }

    private static function onAPIReady():Void {

        var target:Element = Browser.document.getElementById('video');
        var player:YoutubePlayer = new YoutubePlayer(target.id,{
            videoId:target.dataset.videoId,
            events: {
                onReady:function(event:ReadyEvent) {
                }
            }
        });

    }

}

Generate JavaScript code:

// Generated by Haxe 3.4.7
(function () { "use strict";
var Main = function() { };
Main.main = function() {
    window.addEventListener("DOMContentLoaded",function() {
        js_youtube_Youtube.init(Main.onAPIReady);
    });
};
Main.onAPIReady = function() {
    var target = window.document.getElementById("video");
    var player = new YT.Player(target.id,{ videoId : target.dataset.videoId, events : { onReady : function(event) {
    }}});
};
var js_youtube_Youtube = function() { };
js_youtube_Youtube.init = function(onAPIReady) {
    var firstElement = window.document.getElementsByTagName("script")[0];
    var script = window.document.createElement("script");
    script.src = "https://www.youtube.com/player_api";
    firstElement.parentNode.insertBefore(script,firstElement);
    window.onYouTubePlayerAPIReady = function() {
        js_youtube_Youtube.isLoadedAPI = true;
        if(onAPIReady != null) {
            onAPIReady();
        }
    };
};
js_youtube_Youtube.isLoadedAPI = false;
js_youtube_Youtube.API_URL = "https://www.youtube.com/player_api";
Main.main();
})();

References

Original API document: https://developers.google.com/youtube/iframe_api_reference

About

Youtube IFrame Player API externs for Haxe

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages