「検証」ボタンがクリックされると、validator() 関数がトリガーされます。何が起こるかは次のとおりです:

  1. この時点で、ドキュメントの読み込みが完了している可能性があります。これは、ドキュメント ストリームが閉じられていることを意味します。
  2. document.write() を呼び出すと、document.open() が自動的にトリガーされます。 ) を実行すると、現在のドキュメントがクリアされ、既存の要素がすべて削除されます。
  3. その後、document.write() で指定されたテキストが、空になったドキュメントにレンダリングされます。

したがって、ドキュメント全体が更新され、前の内容が document.write().

の出力に置き換えられるため、フォーム要素 (チェックボックスとボタン) がページから削除されます。そのため、 document.write() を使用する場合は、 、ドキュメント ストリームに書き込む前に、 document.open() を明示的に使用して、ドキュメント ストリームが開いたままであることを確認することが重要です。そうしないと、ドキュメントをクリアするという予期しない動作が発生し、意図した機能が中断される可能性があります。

","image":"http://www.luping.net/uploads/20241031/17303378466722dc365be49.jpg","datePublished":"2024-11-08T15:59:11+08:00","dateModified":"2024-11-08T15:59:11+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > document.write() がページをクリアするのはなぜですか?

document.write() がページをクリアするのはなぜですか?

2024 年 11 月 8 日に公開
ブラウズ:837

Why Does document.write() Clear the Page?

Document.write がページをクリアするのはなぜですか?

JavaScript で document.write() メソッドを使用するとき、プログラマーはしばしば特有のエラーに遭遇します。動作: onClick などのイベント ハンドラー内で document.write() を呼び出すと、ドキュメントがクリアされる可能性があります。

この予期しない結果を理解するには、document.write() の性質を理解することが不可欠です。この関数は、ブラウザーに表示されているドキュメントを表す連続的なデータ フローであるドキュメント ストリームに書き込みます。

提供されたコード例では:

「検証」ボタンがクリックされると、validator() 関数がトリガーされます。何が起こるかは次のとおりです:

  1. この時点で、ドキュメントの読み込みが完了している可能性があります。これは、ドキュメント ストリームが閉じられていることを意味します。
  2. document.write() を呼び出すと、document.open() が自動的にトリガーされます。 ) を実行すると、現在のドキュメントがクリアされ、既存の要素がすべて削除されます。
  3. その後、document.write() で指定されたテキストが、空になったドキュメントにレンダリングされます。

したがって、ドキュメント全体が更新され、前の内容が document.write().

の出力に置き換えられるため、フォーム要素 (チェックボックスとボタン) がページから削除されます。そのため、 document.write() を使用する場合は、 、ドキュメント ストリームに書き込む前に、 document.open() を明示的に使用して、ドキュメント ストリームが開いたままであることを確認することが重要です。そうしないと、ドキュメントをクリアするという予期しない動作が発生し、意図した機能が中断される可能性があります。

リリースステートメント この記事は次の場所に転載されています: 1729722995 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3