Web ページの JavaScript ベースの印刷機能を作成しました。ページの非表示の div から HTML を抽出し、それを新しいウィンドウにレンダリングして、印刷ダイアログをトリガーします。
このオプションはbutton
、onclick="printTheThing()"
イベントで利用可能になります。たとえば、スクリーン リーダーには JavaScript に関するいくつかの注意事項があることを知っています。目の不自由な人や目の不自由な人など、この機能の使用をブロックするかどうか、または何人の人をブロックするかを考えています。
実装により、新しいブラウザー ウィンドウが開き、そのドキュメントに追加されます。
function printTheThing() {
var dispSettings = "toolbar=yes,location=no,directories=yes,menubar=yes,"
+ "scrollbars=yes,width=550,height=400",
html = $('#theDivToPrint').html(),
printWindow = window.open("", "", dispSettings),
doc = printWindow.document;
doc.open();
try {
doc.write('<html><head>');
doc.write('<title>' + title + '</title>');
doc.write('</head><body>');
doc.write(html);
doc.write('</body></html>');
} finally {
doc.close();
}
printWindow.focus();
printWindow.print();
}
更新: ボタンは次のようになります。
<button type="button" onclick="printTheThing()">Print the thing!</button>
さらに、CSS を使用してボタンを画像に置き換えています。Firefox プラグイン「Fangs」でボタンをテストしました。これは、スクリーン リーダーが元のボタン テキストを完全に読み上げることを示唆しています。しかし、Fangs には対話機能がないため、印刷をテストすることはできません。