0

mypage1.aspx があり、ポップアップを開くリンクがあります。このポップアップには、2 番目のポップアップを開いて最初のポップアップを閉じる別のリンクがあります。開かれた2番目のポップアップにはウィザードのようなものがあり、最後に入力があり、次のようにウィンドウを閉じる機能があります(Clients.js)

Clients.prototype.closeThisWindow = function() {
    window.close();
}

ボタンをクリックするとウィンドウがぴったり。しかし、今、私はこの同じ機能から問題を抱えています。親ページのリンクを非表示にする必要がありますが、

window.parent   (parent is always null)
window.opener   (opener is always null too)

親でリンクを非表示にする関数を定義しましたが、オープナーが常に null であるため、その関数を呼び出すことができません

私は試した

Clients.prototype.closeThisWindow = function() {
    window.opener.hideLink();
    window.close();
}

hideLink は親ページで定義された関数ですが、opener は常に null です。他にこれを行う方法はありますか? 私はJavaScriptが苦手ですが、ここで私が働いている場所では、このように設計されており、JavaScriptから機能させる必要があります。このシナリオの助けをいただければ幸いです。

4

1 に答える 1

1

ウィザードを開く関数で、次の操作を行います。

var result_from_open = open(/*your paramenters*/);
result_from_open.main_window = window.opener;

そしてClients.jsで:

Clients.prototype.closeThisWindow = function() {
  //window.opener.hideLink();
  window.main_window.hideLink();
  window.close();
}
于 2012-06-11T15:30:50.493 に答える