Proviamo in questo modo:
Giusto per chiarire cosa ho fatto, nota che ho usato querySelectorAll per selezionare una collezione di elementi corrispondenti a quel selettore ('a.back') che si presume identifichi i due pulsanti in questione, quindi vado a ciclarli con forEach nel quale applico, per ciascuno, un listener in cui viene attivato il sistema col flag.codice:/* -------------------------------------------------------------- */ /* GESTIONE FLAG PER "TORNA INDIETRO" */ /* */ /* Questo blocco deve essere definito una sola volta inizialmente */ /* e vale per tutte le pagine */ /* -------------------------------------------------------------- */ var _azioneConsentita; (()=>{ function rimuoviFlag(){ sessionStorage.removeItem('azioneNegata'); } const flag = sessionStorage.getItem('azioneNegata'); if (flag) window.addEventListener('beforeunload', rimuoviFlag); _azioneConsentita = !flag; // Elementi per i quali applicare il flag const elementiFlag = document.querySelectorAll('a.back'); elementiFlag.forEach(el => { el.addEventListener('click', e=>{ window.removeEventListener('beforeunload', rimuoviFlag); sessionStorage.setItem('azioneNegata', true); }); }); })();
Fai sapere.


Rispondi quotando
