我想从一个页面创建多个版本的可打印页面。我正在考虑这样做:在原始页面上放置几个按钮,然后单击一个按钮将弹出一个与其父窗口具有相同html的新窗口,但需要进行一些修改(例如,将某些DIV的显示属性设置为没有)。
可以使用javascript来执行此操作吗?
答案 0 :(得分:4)
您可以将其他参数传递到当前页面的网址,并在新窗口中打开,如下所示:
window.open(document.location.href + "?print=true");
然后,您可以在JavaScript中读取URL参数并执行必要的隐藏和CSS更改,以使文档打印友好。
说到:为什么不使用一个只打印的CSS为你做这个?然后,您需要在代码中执行的操作是:
window.print();
在你的文件中HEAD:
<link rel="stylesheet" href="yourcssfile.css" media="print" />
CSS将确保页面看起来像您想要的打印方式。有关在CSS中打印的详细信息,请参阅this article。
答案 1 :(得分:1)
是的,可以将javascript代码设置为此,例如:
window.open('myPage.html')
getElementById('<someid>').style.display = none
但是,您可能需要查看CSS打印样式表,它允许使用CSS来指定div隐藏等等。它的优点是不会强制用户打开弹出窗口而不会在服务器上进行第二次页面加载。我发现this article是一个开始的好地方。
基本上,要添加打印样式表,请设置如下链接:
<link rel="stylesheet" type="text/css" media="print" href="myPrintStyles.css"/>