Question

C’est un peu un problème étrange, mais je dois créer un champ de recherche pour notre site qui sera iframed sur un autre site. Lorsque l'utilisateur clique sur le bouton de recherche, il doit rediriger le cadre parent vers la notre page de résultats de recherche.

Pour le moment, ce que j'ai fait est de transformer le bouton de recherche en déclencheur de publication, puis d'enregistrer un bloc de script client pour exécuter ceci:

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

Ceci est ok , mais cela ressemble à un hack & amp; cela signifie que si l'utilisateur clique sur le navigateur après la recherche, il est redirigé vers la page des résultats de la recherche.

Y a-t-il une meilleure façon de faire cela?

Était-ce utile?

La solution

OK, puisque personne d'autre n'a répondu, je vais essayer.

Tout d’abord, testez-vous le code que vous utilisez de manière réaliste? Je crains que, dans une application réelle, votre page iframed et la page parent ne résident pas sur le même domaine. Si tel est le cas, il est peu probable que votre code dirige la fenêtre parente vers une URL.

Si vous êtes autorisé à contrôler l'emplacement du cadre parent, votre code me convient parfaitement. Si vous ne voulez pas que la nouvelle URL apparaisse dans l'historique, je pense que vous pouvez utiliser:

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

Voir, par exemple: "La différence entre les méthodes de redirection Javascript"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top