Bien que je pense que la réponse d'alemjerus est dans la bonne direction, il ne fonctionne pas lorsque la nouvelle URL pointe vers la 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:
var redirectToURL = '/questions/2319004/javascript-how-to-truly-reload-a-site-with-an-anchor-tag#answer-28621360';
window.location.href = redirectToURL;
window.location.reload(true);
Mais quand il pointe vers une autre page, l'utilisateur sera toujours rester sur la page en cours après reload. (Exécutez les codes suivants dans un lot, aucun délai entre location.href=
et location.reload
):
var redirectToURL = 'http://stackoverflow.com';
window.location.href = redirectToURL;
window.location.reload(true);
Dans ce cas, retirez les location.reload
œuvres. Donc, ma solution est de vérifier si la nouvelle URL est sur la même page:
var urlParser = document.createElement('a');
urlParser.href = redirectToURL;
if (urlParser.origin + urlParser.pathname === location.origin + location.pathname) {
window.location.reload(true);
}
testé sur Chrome et Safari, n'ont pas essayé IE. Veuillez me faire savoir si cela ne fonctionne pas sur un navigateur majeur.
'onclick =" alert ('S'il vous plaît appuyez sur F5 ') "' – nickf
Donc, vous voulez recharger la page, puis passer à l'ancre de nom? – Pbirkoff
@Pbirkoff Oui, exactement. @nickf Hehe, vous avez fait ma journée: D – aefxx