Wait for #commento to be loaded before reinit
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2022-04-17 15:08:16 +02:00
parent 2a3c7a3567
commit 1a072203a8

View File

@ -1,28 +1,35 @@
<script> <script>
import { tick } from 'svelte';
export let pageId = null; export let pageId = null;
async function changePageId(pageId) {
if (typeof window !== 'undefined' && !window.commento) {
// init empty object so commento.js script extends this with global functions
window.commento = { };
const script = document.createElement('script')
// Replace this with the url to your commento instance's commento.js script
script.src = `https://commento.nemunai.re/js/commento.js`
script.defer = true
// Set default attributes for first load
script.setAttribute('data-auto-init', false)
script.setAttribute('data-page-id', pageId)
script.onload = () => {
// Tell commento.js to load the widget
window.commento.main()
}
document.getElementsByTagName('head')[0].appendChild(script)
} else if (typeof window !== 'undefined' && window.commento) {
await tick();
window.commento.reInit({
pageId: pageId,
})
}
}
$: { $: {
if (pageId) { if (pageId) {
if (typeof window !== 'undefined' && !window.commento) { changePageId(pageId);
// init empty object so commento.js script extends this with global functions
window.commento = { };
const script = document.createElement('script')
// Replace this with the url to your commento instance's commento.js script
script.src = `https://commento.nemunai.re/js/commento.js`
script.defer = true
// Set default attributes for first load
script.setAttribute('data-auto-init', false)
script.setAttribute('data-page-id', pageId)
script.onload = () => {
// Tell commento.js to load the widget
window.commento.main()
}
document.getElementsByTagName('head')[0].appendChild(script)
} else if (typeof window !== 'undefined' && window.commento) {
window.commento.reInit({
pageId: pageId,
})
}
} }
} }
</script> </script>