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 属性メディア タイプ

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

推薦する

Docker rocketmq デプロイメントの実装例

目次準備展開プロセスRocketMQ の初体験関連する質問ヘルプドキュメント私は最近 RocketM...

インデックスを設計する際の原則は何ですか? インデックスの障害を回避するにはどうすればよいでしょうか?

目次主キーインデックス頻繁にクエリされるフィールドのインデックスを作成する大きなフィールドのインデッ...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

Linuxシステムにおける重要なサブディレクトリの問題について話す

/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...

CSS3 で @media を使用して Web ページの適応を実現するためのサンプル コード

現在、コンピュータモニターの画面解像度はますます高くなる傾向にありますが、携帯電話などのモバイルデバ...

Linux システムを起動時に自動的にスクリプトを実行するように設定する方法の例

序文みなさんこんにちは。私は梁旭です。職場では、システムの起動後にスクリプトやサービスを自動的に開始...

vue+elementui+vuex+sessionStorage を使用して履歴タグ メニューを実装するためのサンプル コード

一般的には、左側にメニューがあった後、ページの上部に履歴タブ メニューを追加する必要があります。他の...

nginxリバースプロキシを使用するときに長時間接続を維持する方法

・【シーン説明】 HTTP1.1 以降、HTTP プロトコルは永続的な接続 (長い接続とも呼ばれます...

Vue プロジェクトは左スワイプ削除機能を実装します (完全なコード)

成果を達成するコードは次のとおりですhtml <テンプレート> <div> ...

JS 正規マッチングの落とし穴の記録

最近、JS の正規表現マッチングの落とし穴を発見したのですが、その時はあまりにも奇妙だったので、何か...

デザイン参考 WordPressウェブサイト構築成功事例

これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...

dockerコンテナは直接実行され、pingを介してパブリックIP操作を取得します。

コンテナを通じてローカル パブリック IP アドレスを取得します。ローカル IP アドレスを使用して...

MySQLビューの原理と使用法の詳細な説明

この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...

Vue3コンポーネントの開発詳細

目次1. はじめに2. コンポーネント開発1. コンポーネントの構成2. ヘッダーコンポーネントの開...

Linux に nodejs 環境とパス構成をインストールするための詳細な手順

Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...