質問: WEBページに印刷ボタンを置いて、クリックしたら印刷ダイアログを表示したいのですが、 Chromeにてwindow.print()で印刷ダイアログを表示し、一定時間経過すると「ページが応答しません」とメッセージが表示されてしまいます。 使用ブラウザをChromeに限定したいのですが、回避策はありますでしょうか? Chromeバージョン:72.0.3626.121(Official Build) (64 ビット) ``` 印刷 ``` 下記方法でも解消されなかったのでwindow.print()だとダメなのかと思っています。 ``` //パターン1 onclickで下記関数を呼び出す function myPrint(){ window.print(); return false; } ``` ``` //パターン2 clickにイベントをつける $('#print_btn').on('click', function(){ myPrint(); }); ``` 追記 おそらくwindowsのみ起こる可能性があります。 macでは30分以上放置しても再現されませんでした。
回答: コードの問題というよりブラウザの問題かもしれません。 プリントプレビュー画面で待機しているのが原因のように思います。 「print() chrome フリーズ」とかクラッシュとかで調べると出てきますね。 * クラッシュしやすいChromeのプリントプレビューを使わずにプリントする2つの方法 ※かなり古い記事なので手順がそのままではないかもしれません * Googleフォーラム:システムダイアログを利用して印刷時にフリーズ ※クラッシュするタイミングもまちまちなのでブラウザ側の問題と判断しました。 待たずにさっさと印刷指示出すという運用でカバーもありです。