a.html を開いた後、b にあるテキスト ボックスを変更したいのですが、どうすればよいでしょうか。 ?
これを試しましたが、うまくいきませんでした:
function openhtml(){
var childwin = window.open("b.html");
childwin.document.getElementById("textbox"); value=" abcde";
}
bpage
var obj =parent.frames["frameName"].window;
子ウィンドウのオブジェクトを取得します obj.document.getElementById('clientID')
子のオブジェクトのドキュメントノードを取得しますウィンドウ
あなたは投稿者です もう一度試してみてください~~ 見てください
実装することはできません。アドレス バー (または Cookie) パラメータを渡して、パラメータに従ってページ b にそれを独自に処理させることしかできません
代替実装:
方法 1:
ページ a のクリック イベントでサーバーにセッションを書き込みます (または静的変数、同じこと)
ページ b で、タイマーを使用してサーバーにセッション (または静的変数) を定期的にクエリします。変更が見つかったら、その値に応じてページを変更します。
このメソッドは、前述の機能を実現できます。
方法 2:
1 と似ていますが、値はクライアントに書き込まれます。 Cookie を使用し、B ページは定期的に Cookie をクエリします。ある程度の遅延もありますが、通信プロセスがないため、はるかに優れています
Web プログラムにはそのような必要がないため、この機能はお勧めできません。 Web プログラムの実行プロセスであるページ プロセスを詳しく理解してください:
は実装できず、ページ b にパラメータを渡すことによってのみ実現できます。パラメーターに従って単独で処理します
方法 1:
ページ a のクリック イベントでサーバーにセッション (または静的変数、同じもの) を書き込みます
ページ b でタイマーを使用して、サーバーは定期的にセッション (または静的変数) に変更を加え、値に応じてページを変更します
このメソッドは、一定の遅延はありますが、前述の機能を実現できます
メソッド 2:
1 と似ていますが、クライアント Cookie の値を変更するため、B ページでの Cookie の定期的なクエリには一定の遅延がありますが、通信プロセスがなければはるかに改善されます
そのような必要はないため、この機能はお勧めできませんWeb プログラムの場合、Web プログラムであるページのプロセスを詳しく理解してください。
リクエスト - レスポンス
クロスドメイン以外の状況で、参照関係がある場合、私は以前誤解していました。問題は、操作の実行時に b ページがロードされていないことです。そのため、操作は無効であり、異常になります。次のように記述してください:
function openhtml(){
var childwin = window .open("b.html");