ShowerLoop-cc/docker/showerloop/public/themes/chocolate/layouts/partials/foot.html

30 lines
1.1 KiB
HTML

{{ if eq hugo.Environment "development" }}
<script>
// Initialize LiveReload WebSocket after page load
// This ensures our WebSocket solution works properly with the bfcache
document.addEventListener('DOMContentLoaded', function() {
// Small delay to ensure Hugo's scripts have run
setTimeout(function() {
// Only if no WebSocket is active yet
if (!window.__bfcacheLiveReloadActive) {
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsUrl = `${protocol}//${window.location.host}/__livereload`;
try {
// Create the WebSocket using the original constructor
if (window.OriginalWebSocket) {
const socket = new window.OriginalWebSocket(wsUrl);
socket.onmessage = function(e) {
if (e.data === 'reload') {
window.location.reload();
}
};
window.__bfcacheLiveReloadActive = true;
}
} catch (e) {
console.warn('LiveReload connection error:', e);
}
}
}, 500);
});
</script>
{{ end }}