Estoy buscando escribir una pieza de javascript que agregará un parámetro a la URL actual y luego actualizará la página. ¿Cómo puedo hacer esto?
javascript
jquery
refresh
aficionado
fuente
fuente
Respuestas:
Esto debería funcionar (¡no probado!)
fuente
Más corto que la respuesta aceptada, haciendo lo mismo, pero manteniéndolo simple:
No tenemos que alterar la url completa, solo la cadena de consulta, conocida como el atributo de búsqueda de ubicación.
Cuando asigna un valor al atributo de búsqueda, el navegador inserta automáticamente el signo de interrogación y la página se vuelve a cargar.
fuente
window.location.search = '?param=42';
La mayoría de las respuestas aquí sugieren que uno debe agregar los parámetros a la URL, algo así como el siguiente fragmento o una variación similar:
Esto funcionará bastante bien para la mayoría de los casos.
sin embargo
En mi opinión, esa no es la forma correcta de agregar un parámetro a una URL.
Debido a que el enfoque sugerido no prueba si el parámetro ya está configurado en la URL, si no tiene cuidado, uno puede terminar con una URL muy larga con el mismo parámetro repetido varias veces. es decir:
en este punto es donde comienzan los problemas. El enfoque sugerido podría y creará una URL muy larga después de varias actualizaciones de página, lo que invalidará la URL. Siga este enlace para obtener más información sobre una URL larga. ¿Cuál es la longitud máxima de una URL en diferentes navegadores?
Este es mi enfoque sugerido:
Con esta función solo tendrá que hacer lo siguiente:
fuente
if(window.location.search.indexOf('¶m=') == -1) {window.location.search += '¶m=1';}
indexOf
podría introducir una complejidad innecesaria en el código.fuente
Más versión compatible
fuente
Por favor revise el siguiente código:
fuente
Una pequeña corrección de error para la reflexiva respuesta de @ yeyo arriba.
Cambio:
var parameters = parser.search.split(/\?|&/);
A:
var parameters = parser.search.split(/\?|&/);
fuente
Prueba esto
fuente
También:
Solo una respuesta de Shlomi utilizable en marcadores
fuente