¿Cómo puedo redirigir al usuario de una página a otra usando jQuery o JavaScript puro?
javascript
jquery
redirect
venkatachalam
fuente
fuente
window.location
es lo mismo quewindow.location.href
, en términos de comportamiento.window.location
devuelve un objeto Si.href
no está configurado, el valorwindow.location
predeterminado es cambiar el parámetro.href
. Concluir: usar cualquiera de los dos está bien.Respuestas:
Uno no simplemente redirige usando jQuery
jQuery no es necesario y
window.location.replace(...)
simulará mejor una redirección HTTP.window.location.replace(...)
es mejor que usarlowindow.location.href
, porquereplace()
no mantiene la página de origen en el historial de la sesión, lo que significa que el usuario no se quedará atrapado en un fiasco interminable.Si desea simular a alguien haciendo clic en un enlace, use
location.href
Si desea simular una redirección HTTP, use
location.replace
Por ejemplo:
fuente
$(location).attr('href',url);
.window.location.href
parece tener un comportamiento inconstante en algunos navegadores, de hecho, no funciona en mi versión de Firefox. He oído decir que la configuraciónwindow.location
directamente no funciona en versiones de IE.ADVERTENCIA: Esta respuesta simplemente se ha proporcionado como una posible solución; obviamente no es la mejor solución, ya que requiere jQuery. En cambio, prefiera la solución de JavaScript pura.
fuente
window.location
no es un elemento y, por lo tanto, no tiene atributos..attr()
realmente establece atributos (es decir.setAttribute()
)Forma estándar de JavaScript "estándar" para redirigir una página
O más simplemente: (ya que
window
es Global)La siguiente sección es para aquellos que usan
HTTP_REFERER
como una de las muchas medidas de seguridad (aunque no es una gran medida de protección). Si está utilizando Internet Explorer 8 o una versión anterior, estas variables se pierden al usar cualquier forma de redirección de página JavaScript (location.href, etc.).A continuación, implementaremos una alternativa para IE8 y versiones inferiores para no perder HTTP_REFERER. De lo contrario, casi siempre puede usar simplemente
window.location.href
.Las pruebas contra
HTTP_REFERER
(pegado de URL, sesión, etc.) pueden ayudar a determinar si una solicitud es legítima. ( Nota: también hay formas de evitar / falsificar estos referentes, como se indica en el enlace de droop en los comentarios)Solución simple de prueba entre navegadores (recurrir a window.location.href para Internet Explorer 9+ y todos los demás navegadores)
Uso:
redirect('anotherpage.aspx');
fuente
location.assign
? Lo uso en mi aplicación con IE8, y no pierdo elHTTP_REFERER
encabezado.Hay muchas formas de hacerlo.
fuente
window.navigate
es solo para IE antiguo (Firefox / Chrome no lo admite). Si desea enumerar todas las opciones, no se olvidedocument.location
.Esto funciona para todos los navegadores:
fuente
document.location.replace(redirectURL)
si no desea que la primera página esté en el historial del navegadorSería útil que fuera un poco más descriptivo en lo que está tratando de hacer. Si está intentando generar datos paginados, hay algunas opciones sobre cómo hacerlo. Puede generar enlaces separados para cada página a la que desee acceder directamente.
Tenga en cuenta que la página actual en el ejemplo se maneja de manera diferente en el código y con CSS.
Si desea que los datos paginados se cambien a través de AJAX, aquí es donde entraría jQuery. Lo que haría sería agregar un controlador de clic a cada una de las etiquetas de anclaje correspondientes a una página diferente. Este controlador de clics invocará un código jQuery que va y recupera la siguiente página a través de AJAX y actualiza la tabla con los nuevos datos. El siguiente ejemplo supone que tiene un servicio web que devuelve los datos de la nueva página.
fuente
También creo que
location.replace(URL)
es la mejor manera, pero si desea notificar a los motores de búsqueda acerca de su redirección (no analizan el código JavaScript para ver la redirección), debe agregar larel="canonical"
metaetiqueta a su sitio web.Agregar una sección de noscript con una metaetiqueta de actualización HTML también es una buena solución. Le sugiero que use esta herramienta de redirección de JavaScript para crear redirecciones. También tiene soporte de Internet Explorer para pasar el referente HTTP.
El código de muestra sin demora se ve así:
fuente
Pero si alguien quiere redirigir a la página de inicio, entonces puede usar el siguiente fragmento.
Sería útil si tiene tres entornos diferentes como desarrollo, puesta en escena y producción.
Puede explorar esta ventana u objeto window.location simplemente colocando estas palabras en Chrome Console o Firebug 's Console.
fuente
window.location = '/'
JavaScript le proporciona muchos métodos para recuperar y cambiar la URL actual que se muestra en la barra de direcciones del navegador. Todos estos métodos utilizan el objeto Ubicación, que es una propiedad del objeto Ventana. Puede crear un nuevo objeto Ubicación que tenga la URL actual de la siguiente manera.
Estructura básica de una URL
Protocolo: especifica el nombre del protocolo que se utilizará para acceder al recurso en Internet. (HTTP (sin SSL) o HTTPS (con SSL))
nombre de host: el nombre de host especifica el host que posee el recurso. Por ejemplo, www.stackoverflow.com. Un servidor proporciona servicios utilizando el nombre del host.
puerto: un número de puerto utilizado para reconocer un proceso específico al que se debe reenviar un mensaje de Internet u otra red cuando llega a un servidor.
nombre de ruta: la ruta proporciona información sobre el recurso específico dentro del host al que desea acceder el cliente web. Por ejemplo, stackoverflow.com/index.html.
consulta: una cadena de consulta sigue el componente de ruta y proporciona una cadena de información que el recurso puede utilizar para algún propósito (por ejemplo, como parámetros para una búsqueda o como datos para procesar).
hash: la parte de anclaje de una URL, incluye el signo hash (#).
Con estas propiedades de objeto de ubicación puede acceder a todos estos componentes de URL
Ahora, si desea cambiar una página o redirigir al usuario a otra página, puede usar la
href
propiedad del objeto Ubicación de esta maneraPuede usar la propiedad href del objeto Location.
Location Object también tiene estos tres métodos
Puede usar asignar () y reemplazar métodos también para redirigir a otras páginas como estas
Cómo asignar () y reemplazar () difiere - La diferencia entre el método replace () y el método asignar (), es que replace () elimina la URL del documento actual del historial del documento, lo que significa que no es posible usar el botón "Atrás" para volver al documento original. Por lo tanto, use el método asignar () si desea cargar un nuevo documento y desea dar la opción de navegar de regreso al documento original.
Puede cambiar la propiedad href del objeto de ubicación usando jQuery también de esta manera
Y, por lo tanto, puede redirigir al usuario a otra url.
fuente
Básicamente, jQuery es solo un marco de JavaScript y para hacer algunas de las cosas como la redirección en este caso, puede usar JavaScript puro, por lo que en ese caso tiene 3 opciones usando JavaScript de vainilla:
1) El uso de la ubicación sustituir , esto va a reemplazar la historia actual de la página, significa que no es posible utilizar la parte posterior botón para volver a la página original.
2) Usando la asignación de ubicación , esto mantendrá el historial para usted y con el botón Atrás, puede volver a la página original:
3) Recomiendo usar una de esas formas anteriores, pero esta podría ser la tercera opción usando JavaScript puro:
También puede escribir una función en jQuery para manejarla, pero no se recomienda ya que es solo una función de JavaScript pura de una línea, también puede usar todas las funciones anteriores sin ventana si ya está en el alcance de la ventana, por ejemplo,
window.location.replace("http://stackoverflow.com");
podría serlocation.replace("http://stackoverflow.com");
También los muestro a todos en la imagen a continuación:
fuente
assign()
más dehref=
demasiado ya que éste no funcionaba correctamente para mí en algunos casos.Debería poder configurar usando
window.location
.Ejemplo:
Aquí hay una publicación anterior sobre el tema: ¿Cómo redirijo a otra página web?
fuente
Antes de comenzar, jQuery es una biblioteca de JavaScript utilizada para la manipulación DOM. Por lo tanto, no debe usar jQuery para una redirección de página.
Una cita de Jquery.com:
Se encontró aquí: https://jquery.com/browser-support/
Por lo tanto, jQuery no es una solución definitiva para la compatibilidad con versiones anteriores.
La siguiente solución que utiliza JavaScript sin formato funciona en todos los navegadores y ha sido estándar durante mucho tiempo, por lo que no necesita ninguna biblioteca para la compatibilidad entre navegadores.
Esta página redirigirá a Google después de 3000 milisegundos.
Las diferentes opciones son las siguientes:
Cuando use reemplazar, el botón de retroceso no volverá a la página de redireccionamiento, como si nunca hubiera estado en el historial. Si desea que el usuario pueda volver a la página de redireccionamiento, use
window.location.href
owindow.location.assign
. Si utiliza una opción que le permite al usuario volver a la página de redireccionamiento, recuerde que cuando ingrese a la página de redireccionamiento, lo redireccionará. Así que tenga esto en cuenta al elegir una opción para su redirección. En condiciones en las que la página solo se redirige cuando el usuario realiza una acción, entonces tener la página en el historial del botón Atrás estará bien. Pero si la página se redirige automáticamente, entonces debe usar reemplazar para que el usuario pueda usar el botón Atrás sin ser forzado a regresar a la página que envía la redirección.También puede usar metadatos para ejecutar una redirección de página de la siguiente manera.
META Refresh
META Ubicación
Secuestro BASE
En esta página se pueden encontrar muchos más métodos para redirigir a su cliente desprevenido a una página a la que quizás no quiera ir (ninguno de ellos depende de jQuery):
También me gustaría señalar que a las personas no les gusta que las redireccionen al azar. Solo redirige a las personas cuando sea absolutamente necesario. Si comienza a redirigir a las personas al azar, nunca más volverán a su sitio.
El siguiente párrafo es hipotético:
También puede ser informado como un sitio malicioso. Si eso sucede, cuando las personas hacen clic en un enlace a su sitio, el navegador de los usuarios puede advertirles que su sitio es malicioso. Lo que también puede suceder es que los motores de búsqueda pueden comenzar a disminuir su calificación si las personas informan una mala experiencia en su sitio.
Consulte las Directrices para webmasters de Google sobre redirecciones: https://support.google.com/webmasters/answer/2721217?hl=es&ref_topic=6001971
Aquí hay una pequeña página divertida que te saca de la página.
Si combina los dos ejemplos de página, tendrá un ciclo de redireccionamiento que garantizará que su usuario nunca más quiera usar su sitio.
fuente
fuente
Puede hacerlo sin jQuery como:
Y si solo quieres jQuery, entonces puedes hacerlo como:
fuente
Esto funciona con jQuery:
fuente
window.location
# Redirección de página HTML usando jQuery / JavaScript
Pruebe este código de ejemplo:
Si desea dar una URL completa como
window.location = "www.google.co.in";
.fuente
Necesita poner esta línea en su código:
Si no tiene jQuery, use JavaScript:
fuente
Pregunta original: "¿Cómo redirigir usando jQuery?", Por lo tanto, la respuesta implementa jQuery >> Caso de uso gratuito.
Para simplemente redirigir a una página con JavaScript:
O si necesita un retraso:
jQuery le permite seleccionar elementos de una página web con facilidad. Puede encontrar cualquier cosa que desee en una página y luego usar jQuery para agregar efectos especiales, reaccionar a las acciones del usuario o mostrar y ocultar contenido dentro o fuera del elemento que ha seleccionado. Todas estas tareas comienzan con saber cómo seleccionar un elemento o un evento .
Imagine que alguien escribió un script / complemento con 10000 líneas de código. Con jQuery puede conectarse a este código con solo una línea o dos.
fuente
Entonces, la pregunta es cómo hacer una página de redireccionamiento, y no cómo redirigir a un sitio web.
Solo necesita usar JavaScript para esto. Aquí hay un pequeño código que creará una página de redireccionamiento dinámico.
Digamos que solo pones este fragmento en un
redirect/index.html
archivo en tu sitio web, puedes usarlo así.Y si va a ese enlace, lo redirigirá automáticamente a stackoverflow.com .
Y así es como haces una página de redireccionamiento simple con JavaScript
Editar:
También hay una cosa a tener en cuenta. He agregado
window.location.replace
mi código porque creo que se adapta a una página de redireccionamiento, pero debe saber que cuando lo usawindow.location.replace
y es redirigido, cuando presiona el botón Atrás en su navegador no volverá a la página de redireccionamiento, y lo hará. regrese a la página anterior, eche un vistazo a esta pequeña demostración.Ejemplo:
Entonces, si esto satisface sus necesidades, entonces todo debería estar bien. Si desea incluir la página de redireccionamiento en el historial del navegador, reemplace esto
con
fuente
En su función de clic, simplemente agregue:
fuente
Prueba esto:
Fragmento de código de ejemplo .
fuente
jQuery no es necesario. Puedes hacerlo:
¡Es así de fácil!
La mejor manera de iniciar una solicitud HTTP es con
document.loacation.href.replace('URL')
.fuente
Primero escribe correctamente. Desea navegar dentro de una aplicación para otro enlace desde su aplicación para otro enlace. Aquí está el código:
Y si desea navegar por las páginas dentro de su aplicación, también tengo código, si lo desea.
fuente
Puede redirigir en jQuery de esta manera:
fuente
En JavaScript y jQuery podemos usar el siguiente código para redirigir una página a otra:
fuente
ECMAScript 6 + jQuery, 85 bytes
Por favor no me mates, esto es una broma. Es una broma. Esto es una broma.
Esto "proporcionó una respuesta a la pregunta", en el sentido de que pidió una solución "usando jQuery", que en este caso implica forzarla de alguna manera a la ecuación.
Aparentemente, Ferrybig necesita que se explique la broma (aún bromeando, estoy seguro de que hay opciones limitadas en el formulario de revisión), así que sin más preámbulos:
Otras respuestas están usando jQuery's
attr()
en los objetoslocation
uwindow
innecesariamente.Esta respuesta también la abusa, pero de una manera más ridícula. En lugar de usarlo para establecer la ubicación, esto se usa
attr()
para recuperar una función que establece la ubicación.La función se nombra
jQueryCode
a pesar de que no hay nada jQuery al respecto, y llamar a una funciónsomethingCode
es simplemente horrible, especialmente cuando algo ni siquiera es un idioma.Los "85 bytes" son una referencia a Code Golf. Obviamente, el golf no es algo que deba hacer fuera del código de golf, y además esta respuesta claramente no es realmente golf.
Básicamente, encogerse.
fuente
Javascript:
Jquery:
fuente
Usando JavaScript:
Método 1:
Método 2:
Usando jQuery:
Método 1: $ (ubicación)
Método 2: función reutilizable
fuente
Aquí hay una redirección de retraso de tiempo. Puede configurar el tiempo de retraso a lo que desee:
fuente
Hay tres formas principales de hacer esto:
y...
La última es la mejor, para una redirección tradicional, porque no guardará la página a la que fue antes de ser redirigida en su historial de búsqueda. Sin embargo, si solo desea abrir una pestaña con JavaScript, puede usar cualquiera de los anteriores. 1
EDITAR: el
window
prefijo es opcional.fuente