Files
thetool/public/plugins/vue/tt-core/utils/script-loader.js
2025-12-09 05:34:24 +00:00

36 lines
964 B
JavaScript

/**
* TT-Core Script Loader
* Dynamically load external scripts
*/
/**
* Load external script dynamically
* @param {string} src - Script URL
* @returns {Promise<void>} - Resolves when script is loaded
*/
export function loadScript(src) {
return new Promise((resolve, reject) => {
// Check if already loaded
if (document.querySelector(`script[src="${src}"]`)) {
return resolve();
}
const script = document.createElement('script');
script.src = src;
script.onload = resolve;
script.onerror = () => reject(new Error(`Script load error for ${src}`));
document.head.appendChild(script);
});
}
/**
* Load multiple scripts sequentially
* @param {string[]} scripts - Array of script URLs
* @returns {Promise<void>} - Resolves when all scripts are loaded
*/
export async function loadScripts(scripts) {
for (const src of scripts) {
await loadScript(src);
}
}