mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-06-23 21:25:12 +00:00
Close SSE connection nicely on navigating away from the page
This commit is contained in:
@@ -4,7 +4,7 @@ from data.sig import SIG
|
||||
|
||||
# General software
|
||||
SOFTWARE_NAME = "Spothole by M0TRT"
|
||||
SOFTWARE_VERSION = "1.3"
|
||||
SOFTWARE_VERSION = "1.4-pre"
|
||||
|
||||
# HTTP headers used for spot providers that use HTTP
|
||||
HTTP_HEADERS = {"User-Agent": SOFTWARE_NAME + ", v" + SOFTWARE_VERSION + " (operated by " + SERVER_OWNER_CALLSIGN + ")"}
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<p>This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.</p>
|
||||
</div>
|
||||
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-about").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -69,8 +69,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/add-spot.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/add-spot.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-add-spot").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -70,8 +70,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/alerts.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/alerts.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-alerts").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -76,9 +76,9 @@
|
||||
<script>
|
||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||
</script>
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780672649"></script>
|
||||
<script src="/js/bands.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780681952"></script>
|
||||
<script src="/js/bands.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-bands").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "skeleton.html" %}
|
||||
{% block head_extra %}
|
||||
<link rel="stylesheet" href="/css/style.css?v=1780672649" type="text/css">
|
||||
<link rel="stylesheet" href="/css/style.css?v=1780681952" type="text/css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||
integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
|
||||
<link href="/fa/css/fontawesome.min.css" rel="stylesheet" />
|
||||
@@ -19,9 +19,9 @@
|
||||
integrity="sha384-L1eE4eD41kpBIWe2I0eHy+GnEUC4RIpcvibVW2JCminuPlTl+2Bc528iPdVMg5Dn"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://misc.ianrenton.com/jsutils/utils.js?v=1780672649"></script>
|
||||
<script src="https://misc.ianrenton.com/jsutils/ui-ham.js?v=1780672649"></script>
|
||||
<script src="https://misc.ianrenton.com/jsutils/geo.js?v=1780672649"></script>
|
||||
<script src="https://misc.ianrenton.com/jsutils/utils.js?v=1780681952"></script>
|
||||
<script src="https://misc.ianrenton.com/jsutils/ui-ham.js?v=1780681952"></script>
|
||||
<script src="https://misc.ianrenton.com/jsutils/geo.js?v=1780681952"></script>
|
||||
{% end %}
|
||||
{% block body %}
|
||||
<div class="container">
|
||||
|
||||
@@ -271,8 +271,8 @@
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.9/dist/chart.umd.min.js"></script>
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/conditions.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/conditions.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function () {
|
||||
$("#nav-link-conditions").addClass("active");
|
||||
}); <!-- highlight active page in nav --></script>
|
||||
|
||||
@@ -94,9 +94,9 @@
|
||||
<script>
|
||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||
</script>
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780672649"></script>
|
||||
<script src="/js/map.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780681952"></script>
|
||||
<script src="/js/map.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-map").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -104,9 +104,9 @@
|
||||
<script>
|
||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||
</script>
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780672649"></script>
|
||||
<script src="/js/spots.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/spotsbandsandmap.js?v=1780681952"></script>
|
||||
<script src="/js/spots.js?v=1780681952"></script>
|
||||
<script>$(document).ready(function() { $("#nav-link-spots").addClass("active"); }); <!-- highlight active page in nav --></script>
|
||||
|
||||
{% end %}
|
||||
@@ -59,8 +59,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/js/common.js?v=1780672649"></script>
|
||||
<script src="/js/status.js?v=1780672649"></script>
|
||||
<script src="/js/common.js?v=1780681952"></script>
|
||||
<script src="/js/status.js?v=1780681952"></script>
|
||||
<script>
|
||||
$(document).ready(function() { $("#nav-link-status").addClass("active"); }); <!-- highlight active page in nav -->
|
||||
</script>
|
||||
|
||||
@@ -4,6 +4,14 @@ let restartSSEOnErrorTimeoutId;
|
||||
// Table row count, to alternate shading
|
||||
let rowCount = 0;
|
||||
|
||||
// Set up a listener to close the SSE connection nicely when we navigate away from the page, to prevent console errors
|
||||
// and keep things nice and tidy for the server.
|
||||
window.addEventListener('beforeunload', function() {
|
||||
if (evtSource != null) {
|
||||
evtSource.close();
|
||||
}
|
||||
});
|
||||
|
||||
// Load spots and populate the table.
|
||||
function loadSpots() {
|
||||
// If we have an ongoing SSE connection, stop it so it doesn't interfere with our reload
|
||||
|
||||
Reference in New Issue
Block a user