如何在ROR中设置窗口的名称?

Bre*_*nt 4 html javascript ruby ruby-on-rails

如何在ROR中"命名"浏览器窗口,以便我可以在以后从另一个(弹出窗口)窗口打开一个页面(使用target ="name"html参数)

Joh*_*ley 5

你必须使用JavaScript:

<script type="text/javascript">
  window.name = "MyWindow";
</script>
Run Code Online (Sandbox Code Playgroud)

当然,您可以轻松地将其打包成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
Run Code Online (Sandbox Code Playgroud)

接下来,在布局文件中,在HTML <head>元素中的某处添加此行:

<%= yield :window_name %>
Run Code Online (Sandbox Code Playgroud)

最后,在您的视图模板中,只需添加一行(可以在任何您想要的地方)输出正确的JavaScript:

<% window_name 'MyWindow' %>
Run Code Online (Sandbox Code Playgroud)