Pregunta

Este es un tipo de problema extraño, pero tengo que crear un cuadro de búsqueda para nuestro sitio que se ubicará en otro sitio. Cuando el usuario hace clic en el botón de búsqueda, debe redirigir el marco principal a nuestra página de resultados de búsqueda.

En este momento, lo que he hecho es convertir el botón de búsqueda en un activador de devolución de datos y luego registrar un bloque de script del cliente para ejecutar esto:

if (window.parent) window.parent.location.href='<url>';

Esto es ok , pero parece un hack & amp; significa que si el usuario vuelve a hacer clic en el navegador después de buscar, los redirige a la página de resultados de búsqueda.

¿Hay una mejor manera de hacer esto?

¿Fue útil?

Solución

Está bien, ya que nadie más ha respondido, lo intentaré.

En primer lugar, ¿estás probando el código que estás usando de manera real? Me preocupa que, en una aplicación del mundo real, su página iframed y la página principal no residan en el mismo dominio. De ser así, no es probable que su código dirija la ventana principal a ninguna URL.

Si se le permite controlar la ubicación del marco principal, su código me parece bien. Si no desea la nueva URL en el historial, creo que puede utilizar:

if (window.parent) { window.parent.location.replace("<url>"); }

Ver, por ejemplo: " La diferencia entre los métodos de redireccionamiento de Javascript "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top