Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 53
  1. #1

    Disabilitare javascript se si torna indietro

    Buongiorno, è possibile disabilitare questi script quando si torna indietro nell'applicativo o nel browser?


    Gli script sono questi piccoli tre: https://pastebin.com/6E8Jxmi4


    Ho provato invano con questo script, peraltro deprecato:

    codice:
    if (performance.navigation.type != 2)
    {
        ...script...
    }

    Grazie mille!

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Salve, così su due piedi mi viene da pensare ad una variabile di controllo che vai a salvare in sessionStorage, però non mi è troppo chiaro il contesto, per cui non so se possa andare. Puoi spiegare meglio?

    Che problema c'è se viene eseguito normalmente lo script quando si torna indietro?

    E se aggiorno semplicemente la pagina, anche senza tornare indietro, in tal caso lo script può essere eseguito senza problemi?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Grazie per la risposta! In questo caso:

    clickme = document.querySelector('[title="Stampa etichette"]');
    if(clickme){clickme.click()};

    tornando indietro lo script viene rieseguito e quindi viene di nuovo ricliccato il pulsante 'stampa etichette', e la pagina non resta ferma ma ritorna al punto di partenza.

    Ho provato così, ma avviene lo stesso:

    const entries = window.performance.getEntriesByType("navigation");
    if (entries[0].type !== "back_forward") {
    clickme = document.querySelector('[title="Stampa etichette"]');
    if (clickme) {
    clickme.click();
    }
    }



    P.S. Aggiornando la pagina senza tornare indietro torna direttamente alla prima pagina post-login.
    Ultima modifica di Annuitcoeptis; 21-12-2022 a 14:27

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Continua a non essermi chiaro il contesto, cioè in che modo avviene la sequenza di eventi che determina l'esecuzione di quello script e perché la pagina dovrebbe tornare al punto di partenza.

    Ad ogni modo, come accennato, prova con una variabile di controllo che vai a salvare in sessionStorage.

    Una cosa del genere:

    codice:
    if (sessionStorage.getItem('scriptEseguito')){
      sessionStorage.setItem('scriptEseguito', 'si');
    
        ...script...
    
    }


    In sostanza funziona come una sorta di cookie lato client, cioè una variabile che puoi memorizzare e che resta disponibile finché la scheda corrente non viene chiusa.

    Vedi la documentazione per eventuali altre implementazioni.

    Fai sapere.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Grazie, ma non ho risolto neanche col tuo codice:

    if (sessionStorage.getItem('scriptEseguito')){
    sessionStorage.setItem('scriptEseguito', 'si');
    clickme = document.querySelector('[title="Stampa etichette"]');
    if (clickme) {clickme.click()};
    }

    Lo script
    funziona normalmente, quindi genera un click automatico che fa andare avanti la pagina. A volte però ho l'esigenza di ritornare indietro per correggere errori o altro, ma non posso pechè lo script mi riporta alla pagina di partenza. Spero sia chiaro, grazie




    Ultima modifica di Annuitcoeptis; 21-12-2022 a 15:50

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Scusami, lo script non è corretto, mi son dimenticato un NOT, ovviamente per logica non può funzionare in quel modo

    Prova a correggere:
    codice:
    if (!sessionStorage.getItem('scriptEseguito')){
      sessionStorage.setItem('scriptEseguito', 'si');
    
        ...script...
    
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Grazie, così la pagina non reagisce nemmeno per l'autoclick...
    Mi hanno suggerito di impostare un flag nella
    localStorage
    , ma non saprei come applicare lo script:

    // Do something
    ...
    // Set flag
    localStorage.somethingDone = true;
    // Only do this if it's not already done

    if (!localStorage.somethingDone) {
    // Do something else
    }


    Se può essere utile linko la pagina con Stampa etichette e quella successiva a cui riporta il click su Stampa etichette.

    Link

    Grazie


    Ultima modifica di Annuitcoeptis; 22-12-2022 a 10:13

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Mi hanno suggerito di impostare un flag nella localStorage
    molto simile a quanto ti ho indicato.

    Se può essere utile linko la pagina
    non vedo dove hai applicato lo script
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Ovviamente ho linkato una copia statica (il sito è ad accesso protetto). Se apri il file Stampa etichetta, è la quarta voce dall'alto sulla destra (Stampa etichette, appunto). E' lì che agisce lo script, per autocliccare quella voce. Lo script porta alla pagina successiva (next page), prima linkata.

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ok ma nel codice HTML di quel file non trovo lo script
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.