Añadir un directorio a la url de un dominio [SOLUCIONADO]

Manipulación de URLs en JavaScript: Añadiendo directorios a dominios existentes

Es usual implementar soluciones prácticas y eficientes para
gestionar y modificar URLs en nuestras aplicaciones web. JavaScript ofrece una serie de herramientas que permiten
la edición de direcciones web de forma dinámica. Dicha habilidad
es indispensable en numerosos escenarios, tales como el desarrollo
de aplicaciones de una sola página (SPA), donde la correcta manipulación
de las rutas garantiza la navegación efectiva sin la necesidad de recargar
la página.

Una tarea común incluye insertar nuevas carpetas o directorios al camino
especificado en la URL. Este proceso puede resultar confuso sin la guía
adecuada. En este artículo, nos enfocaremos en cómo agregar parte de una
ruta a la URL de un dominio ya existente
usando JavaScript, lo que también
aplica a la adición de directorios a la ruta actual de la ventana del navegador.

Usando el objeto window.location para la modificación de URLs

Antes de proceder a la explicación detallada, es importante conocer
el objeto window.location. Este objeto contiene información
acerca de la URL actual y tiene métodos que nos permiten interactuar
y modificar dicha URL.

Propiedades del objeto window.location:

  • href: la URL completa.
  • protocol: el protocolo de la URL (por ejemplo, ‘http:’).
  • host: el nombre de host y el puerto (si está presente).
  • hostname: el nombre de dominio.
  • port: el número de puerto.
  • pathname: la parte de la ruta de la URL.
  • search: la query string de la URL.
  • hash: el ancla de la URL (#).

Para añadir un nuevo segmento a la ruta, utilizaremos principalmente la propiedad
pathname. Esta tarea puede realizarse de diferentes maneras,
según las necesidades específicas del proyecto en curso.

Agregando un directorio a la ruta de una URL

Consideremos el escenario en el que tenemos un dominio como www.ejemplo.com
y deseamos añadirle un directorio como /blog para redireccionar nuestro sitio hacia
www.ejemplo.com/blog. Lo primero que se debe hacer es obtener la ruta actual y luego
añadir el nuevo segmento de directorio.

El siguiente código muestra cómo hacerlo en JavaScript:

window.location.pathname += '/blog';
            

Sin embargo, debemos tener en cuenta ciertos aspectos. Si solo queremos añadir
el directorio cuando no esté presente en la URL, se hace necesario realizar una
comprobación adicional:

if (!window.location.pathname.includes('/blog')) {
    window.location.pathname += '/blog';
}
            

Es cómodo y seguro realizar una comprobación previa, ya que
permite evitar la duplicación de la misma carpeta en la URL si el código se
ejecuta más de una vez, lo que podría llevar a una dirección no deseada o
inválida.

Consideraciones adicionales al modificar URLs con JavaScript

Modificar la propiedad window.location.pathname puede causar, en
algunos contextos, la recarga de la página y la perdida del estado actual de nuestra
app. Para una aplicación SPA, la cual utilizaría una estructura basada en
JavaScript para controlar las vistas y el flujo de usuario sin
hacer actualizaciones completas de la página, se preferiría el uso del
History API.

La API de History permite manipular el historial de sesión del navegador de una
manera que tenga en cuenta las manipulaciones del estado de la aplicación web.

Añadiendo un directorio a la URL sin recargar con History API:

El método pushState() es útil para agregar o modificar historial sin
cambiar la página actualmente vista. El siguiente fragmento de código añade un
directorio a la URL en cuestión:

var nuevoDirectorio = '/blog';
if (!window.location.pathname.includes(nuevoDirectorio)) {
    window.history.pushState({}, '', window.location.href + nuevoDirectorio);
}
            

Esta es una solución elegante que nos ayuda a mantener la interactividad de
la aplicación
sin interferir con la experiencia del usuario.

Resumen de mejores prácticas

Al momento de agregar o modificar URLs con JavaScript, es recomendable seguir algunas prácticas que
asegurarán la eficiencia del código y una mejor experiencia de usuario:

  • Realizar comprobaciones para evitar cambios innecesarios en la URL.
  • Utilizar el History API para aplicaciones que no requieren actualización completa.
  • Asegurarse de que las modificaciones sean válidas y no generen rutas incorrectas.
  • Considerar el uso de rutas relativas y absolutas según sea necesario.

Siguiendo estas recomendaciones y comprendiendo los ejemplos de código suministrados, los
desarrolladores estarán un paso más cerca de gestionar de manera óptima las URLs dentro
de sus aplicaciones web y resolver las necesidades de navegación específicas de sus usuarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad