Quindi dai per scontato che non potrà mai esserci un errore che impedisca di inviare il dato?
Purtroppo, a volte le cose non funzionano come vorremmo, ma spesso ci sono dei buoni motivi alla base.
Sì, perché si tratta di un evento di "unload": la pagina viene "scaricata" quando si naviga verso un'altra pagina.
Una tecnica potrebbe essere riscrivere l'intera applicazione trasformandola in una Single Page Application (SPA) e impedendo la "navigazione tradizionale"; in caso contrario, devi verificare su quale pagina sei ed eventualmente dove ti sposti.
Riassumendo il parere già espresso ed esteso in questo commento, mi sento di citare un famoso detto filosofico: "Quando la fatica supera il gusto, abbandona l'evento e bevi lambrusco".![]()