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")

È stato utile?

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
scroll top