如何在 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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top