¿Puedo cambiar la URL (establecer el parámetro) sin enviar? Encontré este método http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/gwt/user/client/Window.Location.html#replace%28java.lang.String%29 pero envía la página. Todo el estado de GWT se perderá.GWT. Establecer URL sin enviar
Respuesta
¿Por qué estás tratando de hacer esto? En general, las aplicaciones GWT no cambian de página, por lo que normalmente son SPAs (aplicaciones de una sola página)
Cuando carga una página nueva desde un servidor, perderá el estado en esa página. Puede cambiar la parte hash de la URL, que no volverá al servidor, así:
String newURL = Window.Location.createUrlBuilder().setHash("newhash").buildString();
Window.Location.replace(newURL);
Sin embargo, si usted va a hacer esto, recomiendo echar un vistazo a MVP marco de GWT , que ha incorporado soporte para administrar ubicaciones usando tokens hash.
http://code.google.com/webtoolkit/doc/latest/DevGuideMvpActivitiesAndPlaces.html
Si desea cambiar algo que no está en el hash, por ejemplo, desea cambiar un parámetro en la URL, puede hacerlo de esta manera!
private void someMethod() {
String newURL = Window.Location.createUrlBuilder().setParameter("someParam", "someValue").buildString();
updateURLWithoutReloading(newURL);
}
private static native void updateURLWithoutReloading(String newUrl) /*-{
$wnd.history.pushState(newUrl, "", newUrl);
}-*/;
Posteriormente, se podría registrar una función que maneja el usuario utilizando los botones de atrás y adelante del navegador como se ha demostrado here.
Esta es realmente la respuesta correcta, la marcada como correcta causa una recarga. –
$wnd.history.pushState(newUrl, "", newUrl);
Funciona muy bien en los navegadores HTML5. ¡No en IE8 o IE9!
- 1. GWT sin JavaScript?
- 2. GWT enlace seleccionable (ancla) sin href
- 3. URL base para una aplicación GWT
- 4. necesita jquery.validate sin enviar
- 5. Enviar formulario sin Javascript
- 6. Enviar correo sin MFMailComposeViewController
- 7. ¿Cómo puedo enviar PHPSESSID en la URL?
- 8. cómo enviar una solicitud de URL asíncrona?
- 9. Establecer el ancho de una columna sin recorte TextInputCell en GWT 2.2 ¿CellTable?
- 10. Validación de URL: acepta URL sin protocolos
- 11. URL sin ID
- 12. URL sin "http | https"
- 13. Android enviar una imagen y guardar url
- 14. ¿Cómo enviar parámetro URL dinámica con JMeter
- 15. WCF FaultException sin enviar StackTrace
- 16. ¿Por qué GWT no funciona sin? Gwt.codesvr = 127.0.0.1: 9997
- 17. GWT. Eliminar la URL de la parte de ancla
- 18. ¿Cómo puedo enviar a un usuario a otra url sin una redirección de encabezado?
- 19. Cómo se puede establecer el cursor: mano con GWT: etiqueta
- 20. Cómo establecer la posición de la curva en GWT RichTextArea
- 21. Usar c: url en c: establecer
- 22. GWT: captura de parámetros de URL en la solicitud GET
- 23. Tener URL sin extensión .aspx
- 24. Obtener url partes sin host
- 25. django {% url%} etiqueta sin parámetros
- 26. obtener la URL sin querystring
- 27. Reemplazo GWT para java.net.URL
- 28. Diferencia entre gwt, gwt-rpc, ext-gwt, smart gwt
- 29. GWT y WebSocket/Datos push del servidor al cliente GWT
- 30. POST con curl sin enviar datos
Gracias por una respuesta útil. Necesito cambiar la URL sin enviar, para que el usuario pueda copiar esto y darle a un amigo. Por ejemplo, wikimapia.org se establece en las coordenadas actuales de la URL http://wikimapia.org/#lat=54.3885546&lon=25.9799194&z=11&l=0&m=b – user672649
Esto me ayudó porque tengo un enlace que llama a otra aplicación GWT. Estoy usando Window.Location.assign() Gracias chicos! – agentcurry