3

我想从一个页面创建多个版本的打印友好页面。我正在考虑这样做:在原始页面上放置几个按钮,然后单击一个按钮将弹出一个新窗口,其 html 与其父窗口相同,但进行了一些修改(例如,将某些 DIV 的显示属性设置为没有任何)。

可以使用javascript来做到这一点吗?

4

2 回答 2

4

您可以将附加参数传递给当前页面的 url 并在新窗口中打开它,如下所示:

window.open(document.location.href + "?print=true");

然后,您可以在 JavaScript 中读取 URL 参数并进行必要的隐藏和 CSS 更改以使文档打印友好。

说到这:为什么不使用为您执行此操作的仅打印 CSS?那么你需要在你的代码中做的就是:

窗口.打印();

在您的文件 HEAD 中:

<link rel="stylesheet" href="yourcssfile.css" media="print" /> 

CSS 将确保页面看起来像您想要的打印方式。有关在 CSS 中打印的更多信息,请参阅这篇文章

于 2010-03-27T23:25:59.103 回答
1

是的,可以为此设置 javascript 代码,例如:

window.open('myPage.html')

getElementById('<someid>').style.display = none

但是,您可能想查看 CSS 打印样式表,它允许使用 CSS 来指定 div 隐藏等。它的优点是不会强迫用户打开弹出窗口,也不会在服务器上进行第二次页面加载。我发现这篇文章是一个很好的起点。

基本上,要添加打印样式表,您需要设置如下链接:

<link rel="stylesheet" type="text/css" media="print" href="myPrintStyles.css"/>
于 2010-03-27T23:28:22.373 回答