2

HTML ページの印刷に問題があります。実際に私が持っている構造は次のとおりです。いくつかのiframeを含むhtmlページがあります。これらの iframe のそれぞれに html ページが埋め込まれています。私がする必要があるのは、フレーム「メイン」内に印刷リンクを追加して、ユーザーが iframe コンテンツを印刷できるようにすることです。

その特定の iframe の html 内に次を追加しました。

<a href="javascript:window.print()"><img src="./custom/images/print.png" /></a>

しかし、私はいくつかの問題を抱えています。1) 主なものは、このページ内のテキストはスクロール可能であり、動的で非常に長くなる可能性があるため、通常は画面に収まらず、ユーザーはテキスト全体を表示するためにスクロールする必要があることです。現在、ページを印刷しようとすると、印刷されるのはリンクを配置したiframeのコンテンツのみであり(これは、予期しない原因であっても指定したことはありません)、テキストの表示部分のみです。代わりに、すべてをドキュメント全体として使用したいのです。また、スクロール可能なバーが印刷されていますが、その理由はわかりません。すべてを印刷するために追加する必要があるものはありますか?

2) Safari では、Chrome にはない別の正しくない動作があります。基本的に、Chrome の印刷ボタンをクリックすると、ブラウザーによって新しいレイヤーが開かれ、ページのプレビューが表示され、作成した「印刷」CSS が読み込まれます (これは非常にクールで、おそらく Chrome の機能です)。代わりに、Safari ではプレビューが iframe 内に直接読み込まれるため、ユーザーに表示されるコンテンツが変化し、通常はスタックします。なぜこの問題が発生するのか知っていますか? 私にとっては、印刷プレビューを表示しなくても問題ありません。ページのコンテンツが変更されないようにしたいだけです。

PSポイント1については、ページを直接印刷する必要があります。ページの場合、印刷可能なバージョンで新しいウィンドウを開いてから新しいページを印刷することはできません。これにより、私のページは外部の「ツール」API を使用して動的に生成されるため、このコンテキストから外れていないとしましょう。私はそうすることができましたが、それを行うための API を作成するように誰かに依頼する必要があり、これが問題を解決すると 100% 確信している場合にのみそれを行うことができました。

みんなに感謝します。

4

1 に答える 1

1

素直にシンプルに!

iframe の下に印刷可能なバージョンへのリンクを用意してください。Iframeコードがあるとしましょう

<iframe>page2.php </iframe>
<a href="page2.php">Print</a>

これは、見栄えが悪くなく、多くのシーンがあるため、ほとんどのユーザーが一般的に受け入れるであろう非常に便利な回避策です。

当然、iframe タグの page2.php は単なる表現です。別の方法もあると確信していますが、私にとってはこれが最も単純です!

于 2013-02-18T09:02:36.243 に答える