ブログ
印刷ボタンのトラブル
Javascriptでボタンをクリックするとページ内を印刷するスクリプトを作成して、以前は何事もなく印刷されていたのに、ある日突然うまく動作しなくなってしまいました。
プリンターから印刷そのものはされているのですが、次のような異常な動作が付随します。
結論として、ボタンにJQueryの.on()関数でwindows.print()を実行させようとしていたものをやめ、.click()関数を用いて書き直すと、異常動作は起こらなくなりました。
なぜこれで改善するのか追究していません。おそらくブラウザのバージョンが上がってしまったためだろうと思うことにします。
修正前のコード
修正後のコード
プリンターから印刷そのものはされているのですが、次のような異常な動作が付随します。
- Internet Explorer 11では、印刷ダイアログの印刷ボタンをクリックしてもダイアログが閉じなくなる。
- Firefoxでは、印刷プレビューエラーウィンドウに一部の印刷機能は現在利用できません。と表示される。
結論として、ボタンにJQueryの.on()関数でwindows.print()を実行させようとしていたものをやめ、.click()関数を用いて書き直すと、異常動作は起こらなくなりました。
なぜこれで改善するのか追究していません。おそらくブラウザのバージョンが上がってしまったためだろうと思うことにします。
修正前のコード
$(document).on('click', '#print', function(){
window.print();
return false;
});
修正後のコード
$('#print').click(function(){
window.print();
return false;
});