Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

1. 問題の背景:

window.print()頁面打印出現頁面無響應

オンラインでwindow.location.reload()を使用する多くのソリューションを見てきました。このソリューションについてはよくわかりません。ページを更新すれば確かにこの問題は解決できますが、高度なものではありません。

2. 問題の原因:

文書は改ざんされたかもしれないが、破壊されたわけではない(おそらく)

3. 問題解決:

操作のドキュメントを削除する

封裝一個printFun()方法

//メソッドパラメータcontent: 印刷する要素printFun = (content) => {
        var Window = window.open("", "ページの印刷", "ツールバー=いいえ、場所=いいえ、ディレクトリ=いいえ、ステータス=いいえ、メニューバー=いいえ、スクロールバー=いいえ、サイズ変更可能=はい、コピー履歴=いいえ");
        var style = "<style type='text/css'></style>";
        Window.document.write(コンテンツ + スタイル);
        ウィンドウにフォーカスを当てる
        Window.document.close(); //ドキュメントの出力ストリームを閉じて、選択したデータを表示します。 Window.print(); //現在のウィンドウを印刷します。 return Window;
    }

メソッド呼び出し: billDetails是你當前想要打印的元素的id,當然只要是能找到該元素,其他方法都可以

var windows = this.print(document.getElementById('billDetails').innerHTML);
    ウィンドウを閉じます。

要約:

スタイルの問題がある場合は、自分でコードにCSSを追加する必要があります。つまり、 printFunメソッドのstyle変数を追加し、自分で変更する必要があります。

React で window.print() を使用する際にページが応答しない問題を解決する方法についての記事はこれで終わりです。React で window.print() を使用する際にページが応答しない問題に関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  CSS チュートリアル: CSS 属性メディア タイプ

>>:  デザインストーリー: ナンバープレートを覚えられない警備員

推薦する

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

MySQL ユーザー変数と set ステートメントの例の詳細な説明

目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...

Baotaパネルを再起動すると、「-ModuleNotFoundError: No module named 'geventwebsocket'」というメッセージが表示されます。

背景:サーバーがFlaskプロジェクトをデプロイし、python3をインストールしたため、再起動時に...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...

HTML テーブルに複雑なテーブル ヘッダーを実装するためのサンプル コード

複雑な表を作成するには HTML を使用します。複雑なテーブルでは通常、td の rowspan 属...

Docker チュートリアル: コンテナの使用 (簡単な例)

Docker を初めて使用する場合は、コンテナの管理を始めるために習得する必要がある基本的なコマン...

カルーセル効果を実現するネイティブJavaScript

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

jQueryは従業員情報の追加と削除の機能を実装します

この記事では、従業員情報の追加と削除の機能を実装するためのjQueryの具体的なコードを参考までに共...

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

js キャンバスは検証コードを実装し、検証コード機能を取得します

この記事の例では、検証コードを作成して取得するためのjsキャンバスの具体的なコードを共有しています。...

JavaScriptでページスクロールアニメーションを実装する

目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...