興味深いブラウザの問題にぶつかる - jQueryを実装して、通常のビューのCSSファイルと印刷用のCSSファイルの間でボタンをクリックすると、ページのスタイルシートリンクhrefを切り替えます。これは、ビューアが印刷用のバージョンに行くときに、新しいリンクhrefが適用された後にwindow.print()を呼び出すことを除いて、機能します。印刷プレビューが自動的に表示され、プレビューでは、印刷バージョンにdisplay:noneが必要な特定の要素が表示されます。 「印刷」をクリックすると、プレビューと同じように、印刷がうまくいきません。印刷をキャンセルすると、画面上のページはまだ印刷に適していますが、すべてが問題なく表示されません。右クリックして[印刷...]を選択すると、プレビューが表示され、必要なものがすべて印刷されます。印刷用バージョンが動作しない
これはChromeでのみ起こっているため、FFではないため、ブラウザのものでなければなりません。
これは、ボタンがクリックされるたびに呼び出される関数です。
$('#printOnlyBtn').click(function(){
if ($('#mainStylesheetLink').attr('href') == 'normal.css' {
//switch to print-friendly css file and print
doPrint();
}
else {
//switch back to normal css file
$('#mainStylesheetLink').attr('href', 'normal.css');
}
});
function doPrint(){
$('#mainStylesheetLink').attr('href', 'printFriendly.css');
window.print();
}
一つの解決策は)(window.printの呼び出しを取ることです。 1つのボタンでページを印刷に適したモードにしてから、実際にページを印刷するためにユーザーがクリックしなければならない別のボタンをクリックするだけです。しかし、私はそれを可能な限りワンクリックプロセスに保つことを望んでいます。
感謝を - 私は、クランチのビットによCSSを書き直す時間はあまりありませんが、私は間違いなく一見します。 – Cmaso