Como defino o nome de uma janela no ROR?
-
09-06-2019 - |
Pergunta
Como faço para "nomear" uma janela do navegador no ROR, de modo que eu possa abrir uma página nela mais tarde, a partir de outra janela (pop-up) (usando o parâmetro html target="name")
Solução
Você tem que usar JavaScript para isso:
<script type="text/javascript">
window.name = "MyWindow";
</script>
É claro que você poderia facilmente empacotar isso em um método auxiliar do Rails.Por exemplo, em app/helpers/application_helper.rb
adicione um novo método:
def window_name(name)
content_for(:window_name) do
"<script type=\"text/javascript\">window.name = \"#{name}\";</script>"
end
end
A seguir, em seu arquivo de layout, adicione esta linha em algum lugar do HTML <head>
elemento:
<%= yield :window_name %>
Finalmente, em seus modelos de visualização, basta adicionar uma linha como esta (pode estar em qualquer lugar que você desejar) para gerar o JavaScript correto:
<% window_name 'MyWindow' %>
Outras dicas
Você poderia tentar abaixo:
var x=window.open("", "myWindow");
var y="<head><title>my window</title></head><body>my window</body>";
x.document.write(y);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow