Javascript: Comment vraiment recharger un site avec une balise d'ancrage?
Prendre cet extrait de code, par exemple:
window.location.href = 'mysite.htm#images';
Déjà sur le site mysite.htm
de déclenchement et de le recharger thru location.href
de ne pas recharger la page, mais le saut à l'ancre nommée dans l'URL.
J'ai besoin d'un mécanisme pour vraiment recharger la page. Des idées?
PS: j'ai essayé sur le site d'autres méthodes, mais aucun d'eux n'a le truc 🙁
MODIFIER
Ne raccrochez pas sur le type de fichier htm
. J'avais besoin d'elle pour des sites dynamiques ainsi.
onclick="alert('Please press F5')"
- Si vous voulez recharger la page, ET ensuite passer à la nom-ancre?
- Yep, pétantes. @nickf Hehe, vous avez fait ma journée 😀
- le meilleur emplacement.recharger alternative jamais 😀
Vous devez vous connecter pour publier un commentaire.
Après avoir défini l'URL spécifiée dans l'emplacement, la question
window.location.reload(true)
. Cela va forcer le navigateur à recharger la page.utiliser la partie requête de l'URL pour ajouter une chaîne de caractères aléatoires:
Alors que je me sens alemjerus la réponse est sur la bonne direction, il ne fonctionne pas quand la nouvelle URL points de page différente, au moins sur mon Chrome v40.
Exemple, lorsque la nouvelle URL juste ajouter un point d'ancrage, il fonctionne très bien:
Mais quand il pointe vers une autre page, l'utilisateur doit toujours rester sur la page en cours après la recharger. (Exécuter les codes suivants dans un lot, pas de délai entre l'
location.href=
etlocation.reload
):Dans ce cas, retirez le
location.reload
œuvres. Donc ma solution est de vérifier si la nouvelle URL est sur la même page:Testé sur Chrome et Safari n'ai pas essayé d'IE. Veuillez me faire savoir si cela ne fonctionne pas sur tous les principaux navigateurs.
Vous pourriez être un tricheur et ajouter une étude randomisée de chaîne de requête, la redirection vers "monsite.htm?random=289954034#images".
Mais si c'est une page statique, comme
.htm
implique, de quoi avez-vous besoin de rechargement pour? Si c'est pour que votre onload Javascript peut se produire un deuxième temps, peut-être vous avez juste besoin de changer votre flux..htm
sur.html
. C'est pourquoi j'ai choisi le mot "implique" 🙂Essayez ceci:
window.location.href = 'mysite.htm?';
EDIT: Cela ne fonctionnera que la première fois; ensuite, la mise en cache prend effet à nouveau.
Fonctionne avec la plupart des navigateurs Mozilla
Ligne De Code:
Le dernier code ne fonctionnera pas correctement avec IE