Come posso impostare il nome di una finestra in ROR?
-
09-06-2019 - |
Domanda
Come posso "rinominare" una finestra del browser in ROR, in modo da poter aprire una pagina al suo interno in un secondo momento, da un'altra finestra (popup) (utilizzando il parametro html target="name")
Soluzione
Devi usare JavaScript per questo:
<script type="text/javascript">
window.name = "MyWindow";
</script>
Ovviamente potresti facilmente inserirlo in un metodo di supporto di Rails.Ad esempio, nel app/helpers/application_helper.rb
aggiungi un nuovo metodo:
def window_name(name)
content_for(:window_name) do
"<script type=\"text/javascript\">window.name = \"#{name}\";</script>"
end
end
Successivamente, nel file di layout, aggiungi questa riga da qualche parte all'interno dell'HTML <head>
elemento:
<%= yield :window_name %>
Infine, nei modelli di visualizzazione, aggiungi semplicemente una riga come questa (può essere ovunque tu voglia) per generare il JavaScript corretto:
<% window_name 'MyWindow' %>
Altri suggerimenti
Potresti provare qui sotto:
var x=window.open("", "myWindow");
var y="<head><title>my window</title></head><body>my window</body>";
x.document.write(y);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow