2010-11-14 28 views
11

Quería hacer algunos análisis de js, por lo que tendría que saber cómo obtener lo que el usuario ingresó en la barra de direcciones como una variable js para que pueda saber cuáles son los errores ortográficos más comunes. De esa manera puedo hacer redirecciones para los errores ortográficos más comunes a las direcciones correctas y reducir las solicitudes de 404 páginas.¿Cómo obtener la URL de la barra de direcciones del navegador?

ejemplo de la entrada del usuario en el navegador:

https://stackoverflow.com/questions

.............................. ...........

he intentado usar

document.location 

pero que muestra la página que el usuario está activada (es decir, dirección de la página 404), no lo que han escrito

Respuesta

0
javascript: alert(window.location.hostname); 

Si desea mostrar la ruta, reemplace .hostname con .pathname.

+0

No, eso es sólo el dominio sin nombre de ruta – Constructor

24

Esto le da la url exacta el usuario está en:

document.location.href 

No hay manera de determinar lo que el usuario escribió antes de presentar la solicitud (por razones de seguridad-).

+1

¿Cómo es que va a hacer lo que el PO está pidiendo? Él quiere que la dirección que * escribí * en la barra de URL, * antes de * cualquier redirección a páginas de error. – Pointy

+0

@Pointy: Correcto. Solucionado eso. – jwueller

2

Tendrás que hacer esto en el servidor, ya que de ahí viene la respuesta 404 original. El servidor definitivamente recibe la URL mala, por lo que todo lo que tiene que suceder es que hagas que tu servidor los guarde en algún lugar.

+0

alguna idea de cómo hacer eso? ¿puede estar preferiblemente dentro de una página php (para que la página 404 obtenga la url)? – Constructor

+0

No conozco php, así que no estoy muy seguro de cómo lo harías en tu entorno. Generalmente * algo * tiene que descubrir que la URL es falsa, y que algo es lo que tendrías que configurar o extender. – Pointy

1

Muchos sistemas de administración de contenido conservan la url cuando aterriza en la página 404, por lo que debería poder usar document.location.href, luego simplemente verifique los análisis en la página de error.

0

Esta es una buena forma de obtener la dirección de enlace Recargar, si es que hay una, que debería tener la URL que se ingresó en la barra de direcciones.

var arr = [], l = document.links; 
for(var i=0; i<l.length; i++) { 
    arr.push(l[i].href); 
} 

de: https://stackoverflow.com/a/3871370/1188090

Cuestiones relacionadas