30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			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 }}  |