يمكن لأي شخص إغلاق المنبثقة التي تم إنشاؤها بواسطة jQuery Plugin Bpopup ، من Iframe طفل؟

StackOverflow https://stackoverflow.com/questions/4247710

سؤال

حسنًا ، القصة تتضخم طويلاً ولكن آمل أن تتمكن من تحمل معي حتى يكون هناك بعض الخلفية للمشكلة:

أقوم بتطوير قسم التسجيل لبوابة باستخدام ASP.NET ولجعل الأمور لطيفة ، قررت استخدام BPOPUP من هنا لتحميل صفحة التسجيل في iframe من صفحة الاتصال (صفحة الوالدين). الآن أحتاج إلى طريقة لإغلاق iFrame بعد تسجيل ناجح ، لذا من CodeBehind من صفحة التسجيل (متداخلة في iframe) ، جربت وظيفة JavaScript من الوال تم إنشاؤه بواسطة البرنامج المساعد:

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

وهنا هو الكود وراء iframe (سيتم استدعاء الوظيفة على إرسال):

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

لم أتمكن من إغلاق المنبثقة. ومن المثير للاهتمام ، أظهر لي Firebug أنه بعد النقر فوق زر الإرسال ، كان Window.Opener فارغًا. هل هذا يعني أن الوالد كان مغلقًا بالفعل؟ على أي حال كان المنبثقة لا يزال هناك ...

أتمنى أن تتمكن الرجال من مشاركة بعض الأفكار حول أي شيء مشابه؟

هل كانت مفيدة؟

المحلول

أستطيع أن أرى أن Dinbror أجابك بالفعل على صفحته :)

فريد: سعيد لأنك أعجبك. هل تستخدم أحدث إصدار من BPOPUP؟

الحل: قم بإنشاء وظيفة على الصفحة التي تفتح المنبثقة:

دالة CloverBpopup () {$ (Selector) .bpopup (). Close ()}

ثم يمكنك تشغيله داخل iframe الخاص بك كلما انتهيت من القيام بأشياءك مع:

parent.closebopupup () ؛

نصائح أخرى

بعد نصف يوم ، حصلت أخيرًا على العمل مع:

clientscript.registerStartupScript (gettype () ، "blah" ، "script type = " text /javaScript "> bclose () ؛ </script>" ، false) ؛

والرمز bclose () هو:

    function bclose() {
        parent.$("#popup").bPopup().close();
        return false;
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top