1つのページから複数のバージョンの印刷しやすいページを作成したい。私はこの方法でそれを行うことを検討しています:元のページにいくつかのボタンを配置し、1つのボタンをクリックすると、親ウィンドウと同じhtmlで新しいウィンドウがポップアップしますが、いくつかの変更が加えられています(たとえば、いくつかのDIVの表示属性を無し)。
これを行うためにjavascriptを使用することは可能ですか?
1つのページから複数のバージョンの印刷しやすいページを作成したい。私はこの方法でそれを行うことを検討しています:元のページにいくつかのボタンを配置し、1つのボタンをクリックすると、親ウィンドウと同じhtmlで新しいウィンドウがポップアップしますが、いくつかの変更が加えられています(たとえば、いくつかのDIVの表示属性を無し)。
これを行うためにjavascriptを使用することは可能ですか?
次のように、現在のページのURLに追加のパラメータを渡して、新しいウィンドウで開くことができます。
window.open(document.location.href + "?print=true");
次に、JavaScriptでURLパラメーターを読み取り、必要な非表示とCSSの変更を行って、ドキュメントを印刷しやすくします。
そういえば、これを行う印刷専用のCSSを使用してみませんか?次に、コードで行う必要があるのは次のとおりです。
window.print();
そしてあなたの文書のHEAD:
<link rel="stylesheet" href="yourcssfile.css" media="print" />
そしてCSSは、ページが印刷時に希望どおりに見えることを確認します。CSSでの印刷の詳細については、この記事を参照してください。
はい、次のようにjavascriptコードをこれに設定することができます。
window.open('myPage.html')
getElementById('<someid>').style.display = none
ただし、CSSを使用してdivの非表示などを指定できるCSS印刷スタイルシートを調べることをお勧めします。これには、ユーザーにポップアップウィンドウを開かせたり、サーバーで2回目のページ読み込みヒットを発生させたりしないという利点があります。この記事は始めるのに良い場所だと思いました。
基本的に、印刷スタイルシートを追加するには、次のようなリンクを設定します。
<link rel="stylesheet" type="text/css" media="print" href="myPrintStyles.css"/>