ホームページ > 記事 > ウェブフロントエンド > javascript showModalDialog、親の window_javascript スキルを取得するメソッドを開きます
通常、新しいウィンドウを開くために window.open を使用する場合
親ウィンドウのコントロールを取得するには、window.opener を使用して親ウィンドウを取得できます
ただし、showModalDialog を使用すると...機能しません
必要に応じて、開始構文と showModalDialog の構文を変更する必要があります。
開始構文の 2 番目のパラメーターとして self を追加してください。例は次のとおりです。
var rc=window.showModalDialog(strURL, self,sFeature);
その後、親ウィンドウの構文は次のようになります。
var pWindow=window.dialogArguments;
このようにして、親ウィンドウのウィンドウ オブジェクト コントロールを取得できます。例:
window.dialogArguments.document.getElementsByName("processId")[0].value;
js のオープナーと親の違い
オープナーは誰が私のものを開きますか? たとえば、ページ A が window.open を使用してページ B のウィンドウをポップアップする場合、ページ A が配置されているウィンドウがページ B の
オープナーです。ページ B のオープナー オブジェクト。
parent は親ウィンドウを表します。たとえば、ページ A が iframe または Frame を使用してページ B を呼び出す場合、ページ A が配置されているウィンドウはページ B の
親になります。
JS では、window.opener はポップアップ ウィンドウの親ウィンドウへの単なる参照です。例:
a.html では、window.open はボタンをクリックして新しいウィンドウ b.html を開きます。次に、b.html では、
window.opener (省略して opener と書きます) を使用して、a.html のドキュメントやその他のオブジェクトを含む a.html を参照し、a.html のコンテンツを操作できます。
この参照が失敗すると、null が返されます。したがって、オープナー オブジェクトを呼び出す前に、まずオブジェクトが null かどうかを判断する必要があります。そうしないと、
「オブジェクトが空であるか、存在しません」という JS エラーが表示されます。