Pergunta

Este é um tipo de problema estranho, mas eu tenho que criar uma caixa de pesquisa para o nosso site que será iframed em outro site. Quando o usuário clica no botão de pesquisa, ele precisa redirecionar o quadro pai para a nossa página resultados de pesquisa.

No momento o que eu fiz é fazer com que o botão de pesquisa um disparador postback, em seguida, registrar um bloco de script de cliente para executar este:?

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

Esta é OK , mas parece que um hack & isso significa que se o usuário clicar de volta no navegador após a pesquisa, ele redireciona-los de volta para a página de resultados de pesquisa.

Existe uma maneira melhor de fazer isso?

Foi útil?

Solução

OK, já que não havia mais ninguém respondeu, eu vou dar a esta.

Primeiro, você está testando o código que você está usando de uma forma no mundo real? Estou preocupado que em uma aplicação no mundo real que sua página iframed e a página pai não residir no mesmo domínio. Se assim for, não é provável que seja alguma forma para o seu código para dirigir a janela pai a qualquer URL.

Se você tem permissão para controlar a localização do quadro pai, o seu código parece bem para mim. Se você não deseja que o novo URL na história, acredito que você pode usar:

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

Veja por exemplo: "A diferença entre JavaScript Métodos de redirecionamento"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top