24 lines
667 B
JavaScript
24 lines
667 B
JavaScript
let loadedExternalLibUrls = new Set ();
|
|
|
|
export function LoadExternalLibraryFromUrl (libraryUrl)
|
|
{
|
|
return new Promise ((resolve, reject) => {
|
|
if (loadedExternalLibUrls.has (libraryUrl)) {
|
|
resolve ();
|
|
return;
|
|
}
|
|
|
|
let scriptElement = document.createElement ('script');
|
|
scriptElement.type = 'text/javascript';
|
|
scriptElement.src = libraryUrl;
|
|
scriptElement.onload = () => {
|
|
loadedExternalLibUrls.add (libraryUrl);
|
|
resolve ();
|
|
};
|
|
scriptElement.onerror = () => {
|
|
reject ();
|
|
};
|
|
document.head.appendChild (scriptElement);
|
|
});
|
|
}
|