Wait for #commento to be loaded before reinit
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
2a3c7a3567
commit
1a072203a8
@ -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>
|
||||||
|
Reference in New Issue
Block a user