Emitir um redirecionamento (http 302) para agir no quadro _top sem usar o script java
-
21-09-2019 - |
Pergunta
Preciso redirecionar o quadro superior em um post de formulário e ele deve funcionar independentemente do JavaScript e em todos os principais navegadores.
Posso redirecionar para uma página com um link e seu conjunto de atributos de destino e pedir aos usuários que cliquem no link.
Mas gostaria de saber se posso fazer isso em uma resposta 302.
Solução
Não. Uma resposta 302 (ou 301, ou 303) especifica apenas que o navegador deve procurar em outro lugar o documento solicitado (conforme especificado pelo Location
cabeçalho). O conceito de quadros de navegador está completamente fora do escopo do HTTP.
No entanto, os quadros do navegador são definidos em HTML, e o mesmo acontece com target
propriedade em form
Elementos:
<form action="/somescript?x=y" method="POST" target="_top">
Isso fará com que o formulário envie ao quadro _top, o que significa "usar a janela completa do navegador". Isso é suportado em todos os navegadores modernos (e mais mais antigos, por exemplo, IE4) e não requer JavaScript.