3

さて、話は少し長くなりますが、問題の背景があるかもしれないので、私と一緒に耐えていただければ幸いです:

ASP.NET を使用してポータルの登録セクションを開発していますが、うまくいくように、ここからbPopup を使用して、登録ページを呼び出しページ (親ページ) の iframe にロードすることにしました。登録が成功した後に iframe を閉じる方法が必要なので、登録ページ (iframe にネストされている) の分離コードから、それを可能にする親からの Javascript 関数を試しました。iframe を閉じる関数は次のとおりです。プラグインによって生成されます:

 function bPopup_close() {
         $(".bClose").closePopup();
     return false;
 }

iframe のコード ビハインドは次のとおりです (関数は送信時に呼び出されます)。

    ClientScript.RegisterOnSubmitStatement
        (GetType(), "Javascript", "javascript: window.opener.bPopup_close();");

ポップアップを閉じることができませんでした。興味深いことに、Firebug は、送信ボタンをクリックした後、window.opener が null であることを示しました。それは、親が実際に閉じていたことを意味しますか? とにかく、ポップアップはまだそこにありました...

似たようなことについての洞察を共有していただければ幸いです。

4

2 に答える 2

11

私はdinbrorが彼のページですでにあなたに答えたのを見ることができます:)

@フレッド:気に入ってくれてうれしい。最新バージョンのbPopupを使用していますか?

解決策:ポップアップを開くページに関数を作成します。

関数closeBPopup(){$(selector).bPopup()。close()}

次に、次の操作が完了したときに、iframe内でトリガーできます。

parent.closeBPopup();

于 2010-11-22T19:24:18.953 に答える
3

半日後、ようやく次のように動作するようになりました。

ClientScript.RegisterStartupScript (GetType(), "blah", "< script type=\"text/javascript\">bclose(); < /script> ", false);

コード bclose() は次のとおりです。

    function bclose() {
        parent.$("#popup").bPopup().close();
        return false;
    }
于 2010-11-23T10:21:21.480 に答える