-
Notifications
You must be signed in to change notification settings - Fork 1
/
reload.js
30 lines (26 loc) · 1.05 KB
/
reload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const itv = 2 * 1000; // Frequentie check op aanpassingen
const port = 3010; // Sync met server
let body = document.getElementById("body");
let timerId = setInterval(chkUpdate, itv);
if (localStorage.getItem('scrollpos')) {
body.hidden = true; // Voorkom onrustige opbouw
setTimeout(scrollIt, 500); // Vertraag: laat document volledig laden
}
function chkUpdate() {
fetch(`http://localhost:${port}/reload`).then((res) => {
if (res.status == 200) {
localStorage.setItem('scrollpos', window.scrollY);
document.location.hash = ""; // Verwijder hst-link
document.location.reload();
}
}).catch((err) => { // Geen localhost, publicatie-fase? Stop update-check
clearTimeout(timerId);
});
}
function scrollIt() {
const y = 0; //350; // offset bij scrolling (bij hidden-body offset niet meer nodig)
var scrollpos = localStorage.getItem('scrollpos');
body.hidden = false; // Nu zichtbaar maken, anders werkt scroll niet
window.scrollTo({ top: scrollpos - y, left: 0, behavior: "instant" });
localStorage.removeItem('scrollpos');
}