Wie lege ich den Namen eines Fensters in ROR fest?
-
09-06-2019 - |
Frage
Wie „benenne“ ich ein Browserfenster in ROR, sodass ich später eine Seite darin aus einem anderen (Popup-)Fenster öffnen kann (mithilfe des HTML-Parameters target="name")
Lösung
Hierfür müssen Sie JavaScript verwenden:
<script type="text/javascript">
window.name = "MyWindow";
</script>
Natürlich können Sie dies auch problemlos in eine Rails-Hilfsmethode packen.Zum Beispiel in app/helpers/application_helper.rb
Fügen Sie eine neue Methode hinzu:
def window_name(name)
content_for(:window_name) do
"<script type=\"text/javascript\">window.name = \"#{name}\";</script>"
end
end
Fügen Sie als Nächstes in Ihrer Layoutdatei diese Zeile irgendwo im HTML ein <head>
Element:
<%= yield :window_name %>
Fügen Sie abschließend in Ihren Ansichtsvorlagen einfach eine Zeile wie diese hinzu (kann sich an einer beliebigen beliebigen Stelle befinden), um das richtige JavaScript auszugeben:
<% window_name 'MyWindow' %>
Andere Tipps
Sie könnten es unten versuchen:
var x=window.open("", "myWindow");
var y="<head><title>my window</title></head><body>my window</body>";
x.document.write(y);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow