私はに他のサーバーからコンテンツをロードするアプリケーションを持っています。ユーザーは、iframe内のコンテンツを印刷できるようにしたい場合があります。これは、かなり長くなり、iframeをスクロールさせることがあります。印刷すると、iframeのビューポートに表示されている領域のみが印刷されます。残りは切り捨てられます。私が試した何
:
を@media print
のスタイルを使用して、私は、ページ上の他のすべての要素を隠し、100%の幅と高さにはiframeを拡張することができます。私ができないことAFAICTは、実際のコンテンツのw/h(CSSだけを使用)にリサイズします。したがって、100%で十分でない場合、コンテンツは切り捨てられます。
これはjavascriptで解くことができますが、ブラウザはfile-> printのイベントフックを常に提供していないので、必要なときにjavascriptを実行できません。
カスタムの「印刷」ボタンを作って、JSを実行してiframeを正しく印刷できるようにしましたが、ブラウザがJSメソッドを拒否しないため、「印刷プレビュー」は許可されません。この。
私はここで困惑しています、答えはありますか?
これは問題を解決しません。ユーザーは、File-> printまたはprint previewを使用したいので、そのフックに引っ掛かり、iframeの内容だけを表示できる必要があります。 –
'File-> print'は"親 "ウィンドウを表示します。これを使用する必要がある場合は、iframeの位置を0〜0(左上隅)に設定し、iframeの幅をウィンドウの幅に設定し、iframeの高さを高さに設定するだけですそれは内容ですこれは実際にウィンドウを印刷/プレビューできる唯一の方法で、実際の "出力"はiframeの全内容になります。 – Dekel
これを行うには、ユーザーが印刷プレビューを要求または印刷するときにJS関数を実行する方法が必要です。これを行う一貫した方法はないようです。 –