//document.js
export function loadScript(src,myid) {
return new Promise((resolve, reject) => {
const elements = document.getElementsByClassName(myid+"mysveltescriptid");
while(elements.length > 0){
elements[0].parentNode.removeChild(elements[0]);
}
const script = document.createElement('script');
script.src = src;
script.classList.add(myid+"mysveltescriptid");
document.body.appendChild(script);
script.addEventListener('load', () => resolve(script));
script.addEventListener('error', () => reject(script));
});
}
<script>
import { onMount } from "svelte";
import { loadScript } from "./../document.js";
onMount(async () => {
await loadScript(
"https://code.jquery.com/jquery-3.7.0.js",
"jquery-3.7.0.js"
);
await loadScript(
"https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js",
"jquery.dataTables.min.js"
);
let checkload = setInterval(() => {
if (window.jQuery && window.DataTable) {
console.log("script loaded successfully!");
new DataTable("#example");
clearInterval(checkload);
}
}, 1000);
});
</script>
Leave a Reply