如何在 ROR 中设置窗口名称?
-
09-06-2019 - |
题
如何在 ROR 中“命名”浏览器窗口,以便稍后可以从另一个(弹出)窗口打开其中的页面(使用 target="name" html 参数)
解决方案
为此,您必须使用 JavaScript:
<script type="text/javascript">
window.name = "MyWindow";
</script>
当然,您可以轻松地将其打包到 Rails 辅助方法中。例如,在 app/helpers/application_helper.rb
添加一个新方法:
def window_name(name)
content_for(:window_name) do
"<script type=\"text/javascript\">window.name = \"#{name}\";</script>"
end
end
接下来,在布局文件中的 HTML 中的某处添加此行 <head>
元素:
<%= yield :window_name %>
最后,在您的视图模板中,只需添加这样一行(可以是您想要的任何位置)即可输出正确的 JavaScript:
<% window_name 'MyWindow' %>
其他提示
您可以尝试以下操作:
var x=window.open("", "myWindow");
var y="<head><title>my window</title></head><body>my window</body>";
x.document.write(y);
不隶属于 StackOverflow