Comment puis-je rediriger l'utilisateur d'une page vers une autre en utilisant jQuery ou JavaScript pur?
javascript
jquery
redirect
venkatachalam
la source
la source
window.location
est le même quewindow.location.href
, en termes de comportement.window.location
renvoie un objet. Si.href
n'est pas défini, la valeur parwindow.location
défaut est de modifier le paramètre.href
. Concluez: Utilisez l'un ou l'autre est très bien.Réponses:
On ne redirige pas simplement en utilisant jQuery
jQuery n'est pas nécessaire et
window.location.replace(...)
simulera au mieux une redirection HTTP.window.location.replace(...)
est mieux que d'utiliserwindow.location.href
, carreplace()
ne conserve pas la page d'origine dans l'historique de la session, ce qui signifie que l'utilisateur ne restera pas coincé dans un fiasco de bouton de retour sans fin.Si vous souhaitez simuler quelqu'un en cliquant sur un lien, utilisez
location.href
Si vous souhaitez simuler une redirection HTTP, utilisez
location.replace
Par exemple:
la source
$(location).attr('href',url);
.window.location.href
semble avoir un comportement inconstant dans certains navigateurs, en fait, ça ne marche pas du tout dans ma version de Firefox. J'ai entendu dire que la configurationwindow.location
ne fonctionnait pas directement dans les versions d'IE.AVERTISSEMENT: cette réponse a simplement été fournie comme une solution possible; ce n'est évidemment pas la meilleure solution, car elle nécessite jQuery. Au lieu de cela, préférez la solution JavaScript pure.
la source
window.location
n'est pas un élément et n'a donc pas d'attributs..attr()
définit réellement les attributs (ie.setAttribute()
)Méthode JavaScript "vanille" standard pour rediriger une page
Ou plus simplement: (puisque
window
c'est Global)La section suivante est destinée à ceux qui utilisent l'
HTTP_REFERER
une des nombreuses mesures de sécurité (bien que ce ne soit pas une excellente mesure de protection). Si vous utilisez Internet Explorer 8 ou une version antérieure, ces variables sont perdues lors de l'utilisation de toute forme de redirection de page JavaScript (location.href, etc.).Ci-dessous, nous allons implémenter une alternative pour IE8 et inférieur afin de ne pas perdre HTTP_REFERER. Sinon, vous pouvez presque toujours simplement utiliser
window.location.href
.Les tests
HTTP_REFERER
(collage d'URL, session, etc.) peuvent aider à déterminer si une demande est légitime. ( Remarque: il existe également des moyens de contourner / usurper ces référents, comme indiqué par le lien de droop dans les commentaires)Solution de test multi-navigateur simple (retour à window.location.href pour Internet Explorer 9+ et tous les autres navigateurs)
Usage:
redirect('anotherpage.aspx');
la source
location.assign
? J'utilise dans mon application avec IE8, et je ne perds pas l'en-HTTP_REFERER
tête.Il existe de nombreuses façons de procéder.
la source
window.navigate
est ancien uniquement IE (Firefox / Chrome ne le prend pas en charge). Si vous souhaitez énumérer toutes les options, n'oubliez pasdocument.location
.Cela fonctionne pour chaque navigateur:
la source
document.location.replace(redirectURL)
si vous ne voulez pas que la première page soit dans l'historique du navigateurIl serait utile que vous soyez un peu plus descriptif de ce que vous essayez de faire. Si vous essayez de générer des données paginées, vous disposez de plusieurs options. Vous pouvez générer des liens distincts pour chaque page que vous souhaitez pouvoir accéder directement.
Notez que la page en cours dans l'exemple est gérée différemment dans le code et avec CSS.
Si vous souhaitez que les données paginées soient modifiées via AJAX, c'est là que jQuery interviendrait. Ce que vous feriez serait d'ajouter un gestionnaire de clics à chacune des balises d'ancrage correspondant à une page différente. Ce gestionnaire de clics invoquerait du code jQuery qui irait chercher la page suivante via AJAX et mettrait à jour la table avec les nouvelles données. L'exemple ci-dessous suppose que vous disposez d'un service Web qui renvoie les nouvelles données de page.
la source
Je pense également que c'est
location.replace(URL)
la meilleure façon, mais si vous souhaitez informer les moteurs de recherche de votre redirection (ils n'analysent pas le code JavaScript pour voir la redirection), vous devez ajouter lerel="canonical"
balise META à votre site Web.L'ajout d'une section noscript avec une balise Meta d'actualisation HTML est également une bonne solution. Je vous suggère d'utiliser cet outil de redirection JavaScript pour créer des redirections. Il prend également en charge Internet Explorer pour passer le référent HTTP.
Un exemple de code sans délai ressemble à ceci:
la source
Mais si quelqu'un veut rediriger vers la page d'accueil, il peut utiliser l'extrait de code suivant.
Il serait utile que vous ayez trois environnements différents: développement, mise en scène et production.
Vous pouvez explorer cet objet window ou window.location en mettant simplement ces mots dans la console Chrome ou la console Firebug .
la source
window.location = '/'
JavaScript vous propose de nombreuses méthodes pour récupérer et modifier l'URL actuelle qui s'affiche dans la barre d'adresse du navigateur. Toutes ces méthodes utilisent l'objet Location, qui est une propriété de l'objet Window. Vous pouvez créer un nouvel objet Location dont l'URL actuelle est la suivante.
Structure de base d'une URL
Protocole - Spécifie le nom du protocole à utiliser pour accéder à la ressource sur Internet. (HTTP (sans SSL) ou HTTPS (avec SSL))
nom d'hôte - Le nom d'hôte spécifie l'hôte propriétaire de la ressource. Par exemple, www.stackoverflow.com. Un serveur fournit des services en utilisant le nom de l'hôte.
port - Numéro de port utilisé pour reconnaître un processus spécifique auquel un message Internet ou autre réseau doit être transféré lorsqu'il arrive sur un serveur.
chemin - Le chemin donne des informations sur la ressource spécifique au sein de l'hôte à laquelle le client Web veut accéder. Par exemple, stackoverflow.com/index.html.
requête - Une chaîne de requête suit le composant de chemin d'accès et fournit une chaîne d'informations que la ressource peut utiliser à certaines fins (par exemple, comme paramètres pour une recherche ou comme données à traiter).
hash - La partie d'ancrage d'une URL, comprend le signe de hachage (#).
Avec ces propriétés d'objet Location, vous pouvez accéder à tous ces composants URL
Maintenant, si vous souhaitez modifier une page ou rediriger l'utilisateur vers une autre page, vous pouvez utiliser la
href
propriété de l'objet Location comme ceciVous pouvez utiliser la propriété href de l'objet Location.
Les objets de localisation ont également ces trois méthodes
Vous pouvez également utiliser les méthodes assign () et replace pour rediriger vers d'autres pages comme celles-ci
Différences entre assign () et replace () - La différence entre la méthode replace () et la méthode assign () () est que replace () supprime l'URL du document actuel de l'historique du document, ce qui signifie qu'il n'est pas possible d'utiliser le bouton "retour" pour revenir au document d'origine. Utilisez donc la méthode assign () si vous souhaitez charger un nouveau document et souhaitez donner la possibilité de revenir au document d'origine.
Vous pouvez modifier la propriété href de l'objet de localisation à l'aide de jQuery également comme ceci
Et par conséquent, vous pouvez rediriger l'utilisateur vers une autre URL.
la source
Fondamentalement, jQuery n'est qu'un framework JavaScript et pour faire certaines choses comme la redirection dans ce cas, vous pouvez simplement utiliser JavaScript pur, donc dans ce cas, vous avez 3 options en utilisant JavaScript vanilla:
1) Utiliser l' emplacement remplacer , ce remplacera l'histoire actuelle de la page, signifie qu'il est impossible d'utiliser le dos bouton pour revenir à la page originale.
2) En utilisant l' attribution d' emplacement , cela gardera l'historique pour vous et en utilisant le bouton de retour, vous pouvez revenir à la page d'origine:
3) Je recommande d'utiliser l'une de ces méthodes précédentes, mais cela pourrait être la troisième option en utilisant du JavaScript pur:
Vous pouvez également écrire une fonction dans jQuery pour la gérer, mais ce n'est pas recommandé car il ne s'agit que d'une fonction JavaScript pure d'une seule ligne, vous pouvez également utiliser toutes les fonctions ci-dessus sans fenêtre si vous êtes déjà dans la portée de la fenêtre, par exemple
window.location.replace("http://stackoverflow.com");
pourrait êtrelocation.replace("http://stackoverflow.com");
Je les montre également sur l'image ci-dessous:
la source
assign()
plushref=
aussi que celui - ci ne fonctionnait pas correctement pour moi dans certains cas.Devrait juste être en mesure de définir à l'aide
window.location
.Exemple:
Voici un article précédent sur le sujet: Comment rediriger vers une autre page Web?
la source
Avant de commencer, jQuery est une bibliothèque JavaScript utilisée pour la manipulation DOM. Vous ne devez donc pas utiliser jQuery pour une redirection de page.
Un devis de Jquery.com:
Il a été trouvé ici: https://jquery.com/browser-support/
Donc jQuery n'est pas une solution globale pour la compatibilité descendante.
La solution suivante utilisant JavaScript brut fonctionne dans tous les navigateurs et est depuis longtemps standard, vous n'avez donc pas besoin de bibliothèques pour la prise en charge de plusieurs navigateurs.
Cette page sera redirigée vers Google après 3000 millisecondes
Les différentes options sont les suivantes:
Lorsque vous utilisez replace, le bouton de retour ne reviendra pas à la page de redirection, comme s'il n'avait jamais été dans l'historique. Si vous souhaitez que l'utilisateur puisse revenir à la page de redirection, utilisez
window.location.href
ouwindow.location.assign
. Si vous utilisez une option qui permet à l'utilisateur de revenir à la page de redirection, n'oubliez pas que lorsque vous entrez dans la page de redirection, il vous redirigera. Donc, prenez cela en considération lorsque vous choisissez une option pour votre redirection. Dans des conditions où la page ne redirige que lorsqu'une action est effectuée par l'utilisateur, alors avoir la page dans l'historique du bouton de retour sera correct. Mais si la page redirige automatiquement, vous devez utiliser replace pour que l'utilisateur puisse utiliser le bouton de retour sans être forcé de revenir à la page envoyée par la redirection.Vous pouvez également utiliser des métadonnées pour exécuter une redirection de page comme suit.
META Refresh
Emplacement META
Détournement de BASE
De nombreuses autres méthodes pour rediriger votre client sans méfiance vers une page qu'il ne souhaite pas consulter peuvent être trouvées sur cette page (aucune d'entre elles ne dépend de jQuery):
Je voudrais également souligner que les gens n'aiment pas être redirigés au hasard. Ne redirigez les personnes que lorsque cela est absolument nécessaire. Si vous commencez à rediriger des gens au hasard, ils ne reviendront plus jamais sur votre site.
Le paragraphe suivant est hypothétique:
Vous pouvez également être signalé comme un site malveillant. Si cela se produit, lorsque les utilisateurs cliquent sur un lien vers votre site, le navigateur des utilisateurs peut les avertir que votre site est malveillant. Ce qui peut également arriver, c'est que les moteurs de recherche peuvent commencer à baisser votre note si les gens signalent une mauvaise expérience sur votre site.
Veuillez consulter les consignes aux webmasters de Google concernant les redirections: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971
Voici une petite page amusante qui vous fait sortir de la page.
Si vous combinez les deux exemples de pages ensemble, vous obtiendrez une boucle de redirection pour les bébés qui garantira que votre utilisateur ne voudra plus jamais utiliser votre site.
la source
la source
Vous pouvez le faire sans jQuery comme:
Et si vous ne voulez que jQuery, vous pouvez le faire comme:
la source
Cela fonctionne avec jQuery:
la source
window.location
# Redirection de page HTML à l'aide de jQuery / JavaScript
Essayez cet exemple de code:
Si vous souhaitez donner une URL complète au format
window.location = "www.google.co.in";
.la source
Vous devez mettre cette ligne dans votre code:
Si vous n'avez pas jQuery, optez pour JavaScript:
la source
Question d'origine: "Comment rediriger en utilisant jQuery?", D'où la réponse implémente jQuery >> Cas d'utilisation gratuit.
Pour simplement rediriger vers une page avec JavaScript:
Ou si vous avez besoin d'un délai:
jQuery vous permet de sélectionner facilement des éléments d'une page Web. Vous pouvez trouver tout ce que vous voulez sur une page, puis utiliser jQuery pour ajouter des effets spéciaux, réagir aux actions de l'utilisateur ou afficher et masquer le contenu à l'intérieur ou à l'extérieur de l'élément que vous avez sélectionné. Toutes ces tâches commencent par savoir sélectionner un élément ou un événement .
Imaginez que quelqu'un a écrit un script / plugin avec 10000 lignes de code. Avec jQuery, vous pouvez vous connecter à ce code avec juste une ou deux lignes.
la source
Donc, la question est de savoir comment créer une page de redirection, et non comment rediriger vers un site Web?
Pour cela, il vous suffit d'utiliser JavaScript. Voici un petit code qui créera une page de redirection dynamique.
Disons que vous venez de mettre cet extrait dans un
redirect/index.html
fichier sur votre site Web, vous pouvez l'utiliser comme ça.Et si vous accédez à ce lien, il vous redirigera automatiquement vers stackoverflow.com .
Et c'est ainsi que vous créez une page de redirection simple avec JavaScript
Éditer:
Il y a aussi une chose à noter. J'ai ajouté
window.location.replace
mon code parce que je pense qu'il convient à une page de redirection, mais vous devez savoir que lorsque vous utilisezwindow.location.replace
et que vous êtes redirigé, lorsque vous appuyez sur le bouton de retour dans votre navigateur, il ne sera pas à la page de redirection, et il retournez à la page précédente, jetez un œil à cette petite démo.Exemple:
Donc, si cela convient à vos besoins, tout devrait bien se passer. Si vous souhaitez inclure la page de redirection dans l'historique du navigateur, remplacez cette
avec
la source
Sur votre fonction de clic, ajoutez simplement:
la source
Essaye ça:
Extrait de code d'exemple .
la source
jQuery n'est pas nécessaire. Tu peux le faire:
C'est aussi simple que ça!
La meilleure façon d'initier une requête HTTP est avec
document.loacation.href.replace('URL')
.la source
Écrivez d'abord correctement. Vous souhaitez naviguer dans une application pour un autre lien à partir de votre application pour un autre lien. Voici le code:
Et si vous souhaitez parcourir les pages de votre application, j'ai également du code, si vous le souhaitez.
la source
Vous pouvez rediriger dans jQuery comme ceci:
la source
Dans JavaScript et jQuery, nous pouvons utiliser le code suivant pour rediriger une page vers une autre page:
la source
ECMAScript 6 + jQuery, 85 octets
S'il vous plaît ne me tuez pas, c'est une blague. C'est une blague. C'est une blague.
Cela a "fourni une réponse à la question", dans le sens où il a demandé une solution "en utilisant jQuery" qui dans ce cas implique de le forcer dans l'équation d'une manière ou d'une autre.
Ferrybig a apparemment besoin d'expliquer la blague (toujours en plaisantant, je suis sûr qu'il y a des options limitées sur le formulaire de révision), donc sans plus tarder:
D'autres réponses utilisent inutilement jQuery
attr()
sur les objetslocation
ouwindow
.Cette réponse en abuse également, mais de manière plus ridicule. Au lieu de l'utiliser pour définir l'emplacement, cela utilise
attr()
de récupérer une fonction qui définit l'emplacement.La fonction est nommée
jQueryCode
même s'il n'y a rien de jQuery à ce sujet, et appeler une fonctionsomethingCode
est tout simplement horrible, surtout lorsque le quelque chose n'est même pas un langage.Les "85 octets" sont une référence au Code Golf. Le golf n'est évidemment pas quelque chose que vous devriez faire en dehors du golf de code, et en outre, cette réponse n'est clairement pas réellement golfée.
Fondamentalement, grincer des dents.
la source
Javascript:
Jquery:
la source
Utilisation de JavaScript:
Méthode 1:
Méthode 2:
Utilisation de jQuery:
Méthode 1: $ (emplacement)
Méthode 2: fonction réutilisable
la source
Voici une redirection temporelle. Vous pouvez régler le temps de retard à votre guise:
la source
Il existe trois façons principales de le faire,
et...
La dernière est la meilleure, pour une redirection traditionnelle, car elle n'enregistrera pas la page que vous avez consultée avant d'être redirigée dans votre historique de recherche. Cependant, si vous souhaitez simplement ouvrir un onglet avec JavaScript, vous pouvez utiliser l'une des options ci-dessus. 1
EDIT: Le
window
préfixe est facultatif.la source