tinymce.dom.ScriptLoader

This class handles asynchronous/synchronous loading of JavaScript files it will execute callbacks when various items gets loaded. This class is useful to load external JavaScript files.

Examples

// Load a script from a specific URL using the global script loader
tinymce.ScriptLoader.load('somescript.js');

// Load a script using a unique instance of the script loader
const scriptLoader = new tinymce.dom.ScriptLoader();

scriptLoader.load('somescript.js');

// Load multiple scripts
scriptLoader.add('somescript1.js');
scriptLoader.add('somescript2.js');
scriptLoader.add('somescript3.js');

scriptLoader.loadQueue().then(() => {
  alert('All scripts are now loaded.');
});

Summary

Methods

Name Summary Defined by

add()

Adds a specific script to the load queue of the script loader.

ScriptLoader

isDone()

Returns true/false if a script has been loaded or not.

ScriptLoader

loadQueue()

Starts the loading of the queue.

ScriptLoader

loadScript()

Loads a specific script directly without adding it to the load queue.

ScriptLoader

loadScripts()

Loads the specified queue of files and executes the callback ones they are loaded. This method is generally not used outside this class but it might be useful in some scenarios.

ScriptLoader

markDone()

Marks a specific script to be loaded. This can be useful if a script got loaded outside the script loader or to skip it from loading some script.

ScriptLoader

Methods

add()

add(url: String): Promise

Adds a specific script to the load queue of the script loader.

Parameters

  • url (String) - Absolute URL to script to add.

Return value

  • Promise - A promise that will resolve when the script loaded successfully or reject if it failed to load.


isDone()

isDone(url: String): Boolean

Returns true/false if a script has been loaded or not.

Parameters

  • url (String) - URL to check for.

Return value

  • Boolean - true/false if the URL is loaded.


loadQueue()

loadQueue(): Promise

Starts the loading of the queue.

Return value

  • Promise - A promise that is resolved when all queued items are loaded or rejected with the script urls that failed to load.


loadScript()

loadScript(url: String): Promise

Loads a specific script directly without adding it to the load queue.

Parameters

  • url (String) - Absolute URL to script to add.

Return value

  • Promise - A promise that will resolve when the script loaded successfully or reject if it failed to load.


loadScripts()

loadScripts(scripts: Array): Promise

Loads the specified queue of files and executes the callback ones they are loaded. This method is generally not used outside this class but it might be useful in some scenarios.

Parameters

  • scripts (Array) - Array of queue items to load.

Return value

  • Promise - A promise that is resolved when all scripts are loaded or rejected with the script urls that failed to load.


markDone()

markDone(url: String)

Marks a specific script to be loaded. This can be useful if a script got loaded outside the script loader or to skip it from loading some script.

Parameters

  • url (String) - Absolute URL to the script to mark as loaded.