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チェックボックス説明テキストをクリックして状態を選択/チェック解除します

Web 開発では、チェックボックスは小さく、ユーザーにとって操作があまり便利ではないため、ユーザーが...

Linux での Jenkins の詳細なインストール手順

目次1. JDKをインストールする2. Jenkinsをインストールする3. Jenkinsの設定を...

Linux での nginx のインストール、展開、使用方法の詳細な説明

目次1. ダウンロード2. 展開3. Nginxログ関連の設定4. ファイルダウンローダーとして n...

シェルを使用して複数のサーバーでバッチ操作を実行する方法

目次SSHプロトコルパスワード接続プロセスsshツールssh公開鍵ログインバッチ操作複数サーバーファ...

VueプロジェクトにPWAを導入する手順

目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...

docker compose を使用して consul クラスタ環境を構築する例

領事の基本概念サーバーモードとクライアントモードサーバー モードとクライアント モードは、consu...

MySQL の分離レベル、ロック、MVCC の紹介

この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...

ウェブデザインレイアウトの理解

<br />矛盾が生じます。私たちのような小さな工房では、デザインとレイアウトは基本的に...

MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

ウェブサイトデザインに関するヒント

実は、最近はウェブデザインについてよく耳にするようになりました。インターネット業界は今とても発展して...

MySQL 5.7.19 インストールディレクトリに my.ini ファイルを作成する方法

前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...

nginx のフロントエンドとバックエンドに同じドメイン名を設定する方法

この記事では、主にnginxのフロントエンドとバックエンドに同じドメイン名を設定する方法を紹介し、皆...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...

Ubuntu 20.04でルートアカウントを有効にする方法

Ubuntu 20.04 をインストールした後、デフォルトでは root アカウントのログイン権限が...