Tato stránka používá Umami jako samostatně hostovaný analytický nástroj zaměřený na ochranu soukromí. Zaujala mě položka v Umamiho changelogu – „Update tracker/index.js:SendBeacon() to Fetch API“.
sendBeacon
je metoda JavaScriptu pro odesílání požadavků na analytický server. Tyto požadavky by měly být asynchronní, neměly by být zrušeny a měly by přežít aktuální navigaci. Ale zřejmě sendBeacon
je někdy blokován blokátory reklam.
To však není velký problém, protože dnes jsem se dozvěděl, že umím vypustit sendBeacon
z mé paměti a použít fetch
metoda s keepalive
volba. 👇
fetch(`${root}/api/collect`, {
method: 'POST',
body: data,
// note the `keepalive` option
keepalive: true,
});
fetch
s keepalive
volba má stejné vlastnosti jako sendBeacon
a funguje jako jeho náhrada. To je dobré vědět!
Nezaměňujte keepalive
načíst atribut s Keep-Alive
HTTP hlavička.