Skip to Content


Create each Youtube video’s data object.

JavaScript February 7, 2021


This function runs automatically, so it is not called manually. Is this incorrect?


Automatically play a video when a Bootstrap modal opens.

jQuery(document).on('', function(e){
    vidID = jQuery('iframe').attr('id');[vidID].playVideo();
Was this page helpful? Yes No

    A feedback message is required to submit this form.

    Please check that you have entered a valid email address.

    Enter your email address if you would like a response.

    Thank you for your feedback!

    Source File

    Located in /assets/js/modules/video.js on line 324.

    No Hooks

    This function does not have any filters or actions available. Request one?
    nebula.youtubeReady = function(e){
        if ( typeof videoProgress === 'undefined' ){
            let videoProgress = {};
        nebula.videos = nebula.videos || {}; //Always make sure this is defined
        let id = nebula.getYoutubeID(;
        if ( id ){
            if ( !nebula.videos.hasOwnProperty(id) ){ //If the video object doesn't use the Youtube video ID, make a new one by duplicating from the Iframe ID
                nebula.videos[id] = nebula.videos[jQuery('id')];
            nebula.videos[id].title = nebula.getYoutubeTitle( ?? 'Unkown';
            nebula.videos[id].duration =; //The total duration of the video. Unit: Seconds
            nebula.videos[id].current =; //The current position of the video. Units: Seconds
            nebula.videos[id].percent =; //The percent of the current position. Multiply by 100 for actual percent.


    To override or disable this JavaScript function, simply redeclare it with the exact same function name.

    nebula.youtubeReady = function(){
        //Write your own code here, leave it blank, or return false.