最初に、私は JavaScript をプログラミングして約 3 か月になりますが、標準やベスト プラクティスに従ってこの問題を解決することにはあまり関心がありません。私の主な関心事は、DOM の使い方を学ぶことです。私はそれに慣れていないので、jQuery を使用したくありません。
JavaScript と DOM を使用して、自分のページにプロフェッショナルではない「ログイン」機能を作成しようとしています。そもそも、最初は「非表示」に表示され、使用時に「ブロック」表示される「ログイン」画面を使用していました。「ログイン画面」の下にあるページの主要部分に不透明度を下げて (0.1 不透明度)、「ログイン」画面の背後に暗い画面を追加すると、これはうまく機能し、非常によく見えました。
「ログイン」画面を閉じると、これ(不透明度)が正常に戻ります。したがって、同じDOMを使用して同じページ内ですべてのことが起こっていることがわかります。OK、これが私が望んでいた方法です。ユーザー名を作成してから、パスワードを作成します。ブン、完成!
しかし、ここに問題があります。ユーザー名とパスワードを作成した後、最初にログイン リンクがあった場所に「こんにちは (ここにユーザー名)」と表示させたいのです。DOM を使用してユーザー名を HTML ページに挿入することもできますが、ログイン機能であるフォームを送信すると、ページがリロードされ、DOM への変更が消去されます。
これで、私が考えた解決策についてお話しできます: フォーム (ログインページ) を新しいウィンドウにすることで、フォームが送信される (および DOM が操作される) と、新しいウィンドウがリロードされ、その後閉じて、メインページのDOMへの変更はそのままです。唯一の問題は、これを行う方法がわからないことです。おそらくそれは大きな問題だと言えるでしょう。
では、新しいウィンドウから親ウィンドウ (呼び出しウィンドウ) の DOM を操作できますか?