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

    Problemi con history.back();

    Ciao a tutti, nella mia pagina ho un form.
    Quando faccio il submit metto un div loading che mi appare finchè il submit non è finito e la pagina cambia. Il problema sta nel fatto che quando sono nella nuova pagina e faccio un history.back(); per tornare alla precedente, mi riparte il div loading che riesco a sbloccare solo facendo un F5.
    Sembra che la pagina non venga ricaricata da 0, non riesco a capire il perchè.

    <html>
    <head>
    <meta http-equiv='Content-Language' content='it'>
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>
    <meta http-equiv='Pragma' content='no-cache'>
    <meta http-equiv='Cache-Control' content='no-cache'>
    <style>
    #loading { visibility:hidden; position:absolute; width:100%; height:100%; cursor:wait; left:0px; top:0px; z-index:1; background-color: #79B9B9; font:40px Arial, Helvetica, sans-serif; color:#fc4b32; padding:20px; opacity:0.6; filter:alpha(opacity=60) }
    </style>
    <script>
    function showLoading(){
    document.getElementById('loading').style.height = document.body.scrollHeight;
    document.getElementById('loading').style.visibilit y = 'visible';
    document.getElementsByTagName('body')[0].style.overflow = 'hidden';
    }
    </script>
    </head>
    <body>

    <div id='loading'>Elaborazione in corso ... Attendere</div>

    <form method='POST' action='default.php' name='form_vst_menu'>
    <input type='hidden' name='qry' value='VST0'>
    <input type='hidden' name='SESSIONE' value='661392'>
    <input type='submit' value=' Ricerca normale ' name='CAMPO01' onClick="javascript:showLoading();">
    </form>

    </body>
    </html>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da cigno Visualizza il messaggio
    Ciao a tutti, nella mia pagina ho un form.
    ...
    Sembra che la pagina non venga ricaricata da 0, non riesco a capire il perchè.
    Perché history non ricarica la pagina ma la mostra esattamente come era un istante prima dell'abbandono in sintesi e come se fosse una foto della pagina.
    E non è possibile intercettare l'evento history
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Perché history non ricarica la pagina ma la mostra esattamente come era un istante prima dell'abbandono in sintesi e come se fosse una foto della pagina.
    E non è possibile intercettare l'evento history
    Mi stai dicendo che non c'è soluzione?
    Calcola che non posso fare un "back" mettendo il nome della pagina precedente.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ti sto dicendo che non c'è soluzione con il back e dovrai trovare un'altra strada tipo far aprire la pagina successiva in una popup (al caricamento di quest'ultima nascondi il loading... nella pagina madre) oppure usi ajax sono solo ipotesi non conoscendo il progetto posso solo fare supposizioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Perché history non ricarica la pagina ma la mostra esattamente come era un istante prima dell'abbandono in sintesi e come se fosse una foto della pagina.
    E non è possibile intercettare l'evento history
    Non posso scostarmi tanto da quello che vedi. Il discorso è che devo trovare una soluzione alternativa per quel pulsante indietro usando qualcosa al posto dell'history back non aprendo altre pagine o caricando le pagine con ajax.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    In tal caso ti basta togliere il loading
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    In tal caso ti basta togliere il loading
    Non posso... :-( ... mi sa che sono fregato...

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Se la seconda pagina conosce l'url della precedente puoi fare così:

    Pagina1
    codice:
    if (document.getElementById('loading').style.visibility == 'visible'
        && location.href.indexOf("non-mostrare") !== -1
       ) {
        document.getElementById('loading').style.visibility = 'hidden';
    }
    


    Pagina2
    codice:
    location.href = "url/della/pagina?non-mostrare"; // Se non conosci l'url puoi stamparlo lato server (ad esempio con php "echo $_SERVER["HTTP_REFERRER"];")
    No

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    Se la seconda pagina conosce l'url della precedente puoi fare così:
    No lo dice qui
    Quote Originariamente inviata da cigno Visualizza il messaggio
    Calcola che non posso fare un "back" mettendo il nome della pagina precedente.
    e comunque vorrebbe usare solo il tasto indietro e non puoi intercettarlo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Allora basta nascondere il loading al caricamento della pagina...

    codice:
    document.addEventListener("DOMContentLoaded", function () {
        document.getElementById('loading').style.visibility = 'hidden';
    });
    Così se è nascosto rimane nascosto (tanto poi lo mostrerà dopo), se invece è aperto lo nasconde
    No

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.