【问题标题】:Rails: How to create a link that loads the page with print.css?Rails:如何创建一个使用 print.css 加载页面的链接?
【发布时间】:2014-02-06 15:13:58
【问题描述】:

我有一个相当简单的问题,我似乎无法回答。在我的 Ruby on Rails 应用程序中,我想创建一个带有 link_to 的链接,该链接使用打印样式表而不是普通样式表加载页面。所以,假设一个普通的 link_to 看起来像这样:

link_to "Page", page_path, :target => "_blank"

我希望该页面随后在带有 print.css 的新窗口中呈现,以便用户准确地看到他或她将要打印的内容。我已经尝试将媒体设置为打印,但我找不到如何执行此操作。

我也知道我可以直接将 call_to_function 与 javascript 打印一起使用,但我需要在新选项卡中打开网站并使用打印样式表。这可能吗?

【问题讨论】:

    标签: css ruby-on-rails printing


    【解决方案1】:

    查看应用了打印媒体样式的页面外观的最简单方法是使用浏览器的内置打印预览。当然,这需要用户了解您可能不想依赖的知识。

    这里建议了另一种选择: http://trentrichardson.com/2006/12/25/print-preview-with-css-and-javascript/

    【讨论】:

      【解决方案2】:

      我建议为您的可打印页面使用单独的母版页。您可以在标题中包含您喜欢的任何 CSS,例如:

      <%= stylesheet_link_tag "print" %>
      

      需要注意的是资产管道和 Sprocket。我相信 Rails 会在生产中正确呈现它,但这是需要注意的一件事。

      或者,您也可以这样做:

      <%= stylesheet_link_tag "print", media: "print" %>
      

      【讨论】:

      • 是的,我想过在布局文件夹中执行类似 print.html.erb 之类的操作,然后在控制器中监视参数,如果为真,则渲染打印布局而不是应用程序布局,但这对于仅更改样式表似乎是不必要的。所以我希望有一种更简单的方法来告诉浏览器使用 print.css 而不是 screen.css 来加载页面。有什么想法吗?
      猜你喜欢
      • 2012-11-05
      • 2020-10-27
      • 1970-01-01
      • 2013-09-08
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多