Comment puis-je rediriger l'utilisateur d'une page à l'autre à l'aide de jQuery?
Réponses
Trop de publicités?jQuery n'est pas nécessaire, et window.location.replace(...)
permettra de mieux simuler une redirection HTTP.
C'est mieux que d'utiliser window.location.href =
car replace()
ne met pas la page d'origine dans la session de l'histoire, le sens, l'utilisateur ne sera pas coincé dans un incessant retour du bouton fiasco. Si vous voulez simuler un clic sur un lien, utilisez location.href
. Si vous voulez simuler une redirection HTTP, utilisez location.replace
.
Par exemple:
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
Toutes ces réponses sont correctes, mais je vais poster pour ceux qui peuvent courir dans la même étrange question que j'ai fait. J'ai eu un problème avec l' HTTP_REFERER
se perdu lors de l'utilisation de tout simplement l'emplacement.href.
Dans IE8 et inférieur, de l'emplacement.href (ou de tout & de toutes les variations de localisation perdra référent), qui, pour sécuriser les sites est important de maintenir, car les tests de dépistage (url collage/ session / etc) peut être utile de dire si une demande est légitime. (Remarque: il existe également des moyens pour contourner / usurper ces référents, comme indiqué par l'affaissement du lien dans les commentaires)
Ma croix-navigateur correctif est cette simple fonction. En supposant que vous avez, bien sûr, sont inquiets de perdre des HTTP_REFERER
comme je l'ai dit. (sinon, vous pouvez simplement utiliser de l'emplacement.href etc)
Utilisation: Redirect('anotherpage.aspx');
function Redirect (url) {
var ua = navigator.userAgent.toLowerCase(),
isIE = ua.indexOf('msie') !== -1,
version = parseInt(ua.substr(4, 2), 10);
// IE8 and lower
if (isIE && version < 9) {
var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();
}
// All other browsers
else { window.location.replace(url); }
}
1.
window.location.href="login.jsp?backurl="+window.location.href;
2.
window.history.back(-1);
3.
window.navigate("top.jsp");
4.
self.location="top.htm";
5.
top.location="error.jsp";
6.
window.location = window.location.host;
7.
$(location).attr('href',"http://www.google.com"); //jquery
8.
window.location.assign("http://www.mozilla.org");
9.
window.location.replace("http://www.kqingdom.com");
Vous n'avez pas besoin de jQuery pour faire ça:
window.location = "http://www.page-2.com";
Note: Ceci est similaire à "cliquant" sur un lien et la page du dossier de changement dans l'historique du navigateur.
Pour remplacer la page actuelle dans l'histoire, l'utilisation de l'emplacement.remplacer