Ho una funzione in cui si scorre verso la pagina in alto quando la pagina viene caricata con document.ready()
. Tuttavia in Chrome questa funzione viene eseguita solo quando sono nella pagina e la aggiorno.Funzione JQuery attiva in safari ma non in chrome
Se accedo alla pagina digitando il collegamento nella barra degli indirizzi, la funzione non viene eseguita. Se accedo alla pagina da un collegamento da un'altra pagina, anche questa non viene eseguita. L'unico modo in cui viene eseguito il 100% delle volte in Chrome è se sono nella pagina e lo aggiorno.
Tuttavia, in Safari, la funzione viene eseguita al 100% ogni volta accedendo alla pagina da un collegamento, digitandola nella barra degli indirizzi, in modalità di ricarica.
Questo è il mio codice:
jQuery(document).ready(function($) {
if (location.hash) { // do the test straight away
window.scrollTo(0, 0); // execute it straight away
setTimeout(function() {
window.scrollTo(0, 0); // run it a bit later also for browser compatibility
}, 1);
//location.reload();
}
});
Questo in realtà funziona anche in Safari senza metterlo in document.ready()
ma poi di nuovo non in Chrome.
Qualcuno sa che cosa causa questo e se questo è possibile risolvere? Ho già avuto questo problema ed è stato estremamente frustrante.
Come sarebbe la pagina non essere in cima già quando si passa direttamente alla pagina digitando l'url, ecc? –
Potrebbe esserci un'ancora (#) nell'URL, credo. –
Qual è esattamente il problema? Non hai spiegato il comportamento che vedi o come sai che la funzione non viene eseguita. – charlietfl