Skip to content

Instantly share code, notes, and snippets.

@psenger
Forked from hallvors/LibLoader.svelte
Created November 8, 2021 03:56
Show Gist options
  • Save psenger/b56ee77b0d9bfda26068275e6b24d90f to your computer and use it in GitHub Desktop.
Save psenger/b56ee77b0d9bfda26068275e6b24d90f to your computer and use it in GitHub Desktop.
<script>
// Based on code from https://stackoverflow.com/questions/59629947/how-do-i-load-an-external-js-library-in-svelte-sapper
import { onMount, createEventDispatcher } from "svelte";
const dispatch = createEventDispatcher();
export let src;
export let libraryDetectionObject;
let script;
onMount(() => {
if (
libraryDetectionObject &&
window &&
typeof window[libraryDetectionObject] !== "undefined"
) {
return dispatch("loaded");
}
script.addEventListener("load", () => {
console.log("load event from script");
dispatch("loaded");
});
script.addEventListener("error", (event) => {
console.error("something went wrong", event);
dispatch("error");
});
});
</script>
<svelte:head>
<script bind:this={script} {src}>
</script>
</svelte:head>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment