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% 確信している場合にのみそれを行うことができました。
みんなに感謝します。