Estoy buscando tenerlo para que cuando un usuario carga nuestra página compruebe si está en un dispositivo móvil y luego lo redirija a una versión móvil de nuestro sitio, pero conserve la etiqueta hash original del enlace que siguieron. Intenté configurar la nueva ubicación con la etiqueta hash en JavaScript y funciona en Chrome, pero no funciona en Safari. He leído que esto es algo que hace Safari. ¿Hay alguna solución a esto?¿Cómo puedo redireccionar a un sitio móvil pero mantener la etiqueta hash?
Respuesta
En realidad, recibimos un informe de error muy similar de nuestros clientes.
Para nosotros, el escenario implicaba un hashtag en forma de #quicklogin/abc123
y solo aparecía al ver el sitio en Safari. Esto era parte de la URL inicial que el cliente cargaría y los presentaría con una pantalla de inicio de sesión alternativa. Al ir directamente a la URL en Safari, el navegador eliminó toda la etiqueta y la ignoró.
Cuando cambiamos esto a algo así como #quicklogin/test
(o cualquier otro hash que contenga solo caracteres alfabéticos) funcionó bien. También funcionó bien al cargar el sitio y luego aplicar manualmente la etiqueta hash en dos pasos separados.
Así que nuestra conclusión es que puede haber algún problema con los hashtags que contienen valores numéricos en Safari.
Probamos esto un poco, y * solo * letras minúsculas funcionan ('a-z'). Al menos '=', '_' y' Z' dieron como resultado que Safari eliminara el fragmento completo. – Timmmm
Tienes que hacer esto redirigiendo con javascript (porque javascript puede leer el valor de hash) o devolviendo condicionalmente html diferente basado en el agente de usuario. Se supone que los navegadores conservan el fragmento hash a través de un 302, pero a menudo no (ver el error webkit de 3 años a continuación) y los fragmentos hash no se envían al servidor por lo que no se pueden tratar de forma manual.
Debe escapar símbolo '#' y todo estaría bien
Esto no tiene más sentido que la otra copia que publicó en otra pregunta. –
Esto realmente funciona ... ¡Sustituir el "#" con "% 23" funciona como un amuleto! ¡Gracias! – user1265146
- 1. ¿Cómo hacer un sitio web móvil como m.yahoo.com (versión móvil)?
- 2. ¿Cómo puedo redireccionar a una URL?
- 3. ¿Cómo puedo redireccionar stdout a un archivo en tcl
- 4. ¿Puedo desarrollar un sitio web móvil usando Drupal?
- 5. ¿Cómo puedo redireccionar a la página actual usando JavaScript?
- 6. ¿Cómo puedo redireccionar a la acción anterior en ASP.NET MVC?
- 7. ¿Cómo puedo mantener el orden de las claves que agrego a un hash Perl?
- 8. cómo pasar un objeto hash a una etiqueta HAML
- 9. ¿Cómo abrir mapas iOS 6 desde un sitio web móvil?
- 10. ¿Cómo crear una versión móvil de un sitio web ASP.NET?
- 11. ¿Agregar una clase a f.submit pero mantener la funcionalidad predeterminada?
- 12. sitio web móvil sin conexión
- 13. Cambiar el nombre de la etiqueta, pero mantener todos los atributos
- 14. ¿Cómo puedo convertir una imagen RGB a escala de grises pero mantener un solo color?
- 15. ¿Cómo puedo probar el diseño de un sitio web en un dispositivo móvil?
- 16. Windows C++: ¿Cómo puedo redireccionar stderr para llamadas a fprintf?
- 17. ¿Cómo puedo volver a la ubicación hash actual usando Passport.js?
- 18. ¿Puede un sitio móvil de jquery ser también un sitio de navegador de escritorio?
- 19. ¿Cómo puedo redireccionar una página php a otra página php?
- 20. Primefaces - ¿Cómo redirigir a la versión móvil?
- 21. ¿Cómo mantener un sitio de WCF en línea?
- 22. ASP.NET MVC - ¿Cómo redireccionar seguro?
- 23. sitio de alto tráfico de detección móvil
- 24. Html5Boilerplate o Html5Boilerplate ¿Móvil para el primer sitio web móvil?
- 25. ¿Cómo puedo mantener un hashset ordenado alfabéticamente?
- 26. ¿Cómo puedo redireccionar después de la demora() con jQuery?
- 27. Mantener un encabezado siempre a la vista
- 28. cambiar la etiqueta, pero mantener los atributos y el contenido - jQuery/Javascript
- 29. Cómo redireccionar un dominio completo mientras se preserva la ruta
- 30. redireccionar std :: cout a un escritor personalizado
nos muestras su código? – JamesHalsall
Sí, solo estaba configurando Window.location en javascript. Resulta que Safari no es compatible con los redireccionamientos de etiquetas hash, lo cual es muy molesto teniendo en cuenta que los iPhones y iPads son todos Safari. Entonces, algunos js como este window.location = "http://www.example.com/#page2" lo llevarán al sitio, pero no saltará a la página 2 como dice la etiqueta hash. Safari quita la etiqueta hash al redireccionar. –
¿Dónde leíste * esto es algo que Safari hace *? – alex