2012-01-11 20 views
5

私は、ユーザーがページの残りの情報を見ることができるように、詳細を読むボタンをクリックするWebサイトを持っています。私はユーザーが各ページを別々に印刷する必要がないように、どうすればそれを作ることができるのか不思議です。私はそれを印刷して、関連するページを印刷するスクリプトを作成できるようにしたいと考えています。私は誰もが私を助け、正しい方向に私を指摘することが大いに感謝されるだろう。私はこの機能がすべてのブラウザで動作する必要があります。複数のページをJavascriptで印刷する

おかげ

私の直感では、最初の window.print機能は、現在のドキュメントだけにあるもの印刷しますので、それは、サーバーベースのソリューションを必要とすること、およびWebページを生成するために、サーバーのコードを書く必要があることを教えてくれました
+2

ブラウザに組み込まれているスクロールバーで「詳細を読む」ボタンを置き換えます。 – Quentin

答えて

3

これを取り除く必要があるのは、メディアスタイルを使用するスタイルシートです。基本的に2つの別々のスタイルシートを持つようなものです。 1つは印刷用、もう1つは閲覧用です。帯域幅を保守的にするには、要求が行われるまでprintareaを空のままにします。リクエストイベントでprintareaに記入してください。私はあなたのjQueryとその負荷とajaxの要求を調べることをお勧めします。私はあなたが層内部のiframe

tihsに印刷できると思い

@media screen 
    { 
    #screenarea 
     { 
     display: block; 
     } 
    #printarea 
     { 
     display: none; 
     } 
    } 
@media print 
    { 
    #screenarea 
     { 
     display: none; 
     } 
    #printarea 
     { 
     display: block; 
     } 
    } 
0

印刷するすべてのページで構成され、そのページからwindow.printを呼び出します。

しかし、.load関数を使用して印刷するページをダウンロードし、すべてのページが読み込まれた後に、window.printを呼び出すと、jQueryが機能します。何らかの理由でjQueryを使用できない場合は、XHRを使用して配管全体を記述することができます。

ウェブアプリケーションの構造に関する情報がなくても、より詳細な回答を提供することは困難です。

0

一般的に、JavaScriptを使用して複数のページにアクセスして印刷することはありません。

代わりに、印刷するすべての情報を含む1つのページと、printabilityのCSSスタイルを使用したいと思うかもしれません。これは、ユーザはそれを見て印刷することができる。

おそらく、すべての情報を含むページにユーザーを誘導する(または新しいtargetのページを開く) "すべて印刷"リンクを使用することができます印刷のために?

さらに進んでよりダイナミックにすることもできます。情報の各セクションの見出しの横にチェックボックスがあり、選択した情報をサーバーに送信し、選択した情報のみを「すべて印刷」ページに表示する「選択したものを印刷する」ボタンがあります。

私はユーザーとして、これは最初の場所でダウンロードしていないものを印刷するものよりもleast astonishmentに忠実であると感じています(ユーザーのプリンタに送信する危険性が高いリソースを無駄にする)。

編集

ちょうど私に起こった別のアプローチ。すべてのコンテンツは、最初は別のページにある必要がありますか?デフォルトで非表示になっているコンテンツをdivに入れて、「続きを読む」リンクにはdivが表示されます。印刷能力のために必要なのは、前述のCSSメディアスタイルです。ブラウザで表示すると情報セクションを個別に展開/折りたたむことができますが、ページが印刷されるとすべてが展開されます。

0

あなたが(注射またはサーバー・プロセスのいずれかを使用して)単一のWebページですべてのコンテンツを持った後、ページをフォーマットすると、例えば、CSSは@media印刷用の属性を使用:

その他の属性は「PAGE-ある

@media print { 
    h1 {page-break-before: always;} 
} 
「改ページ」と「改ページ」があり、後者はコンテンツ内での改行を防ぐのに役立ちます。

関連する問題