ساعدني في إعادة مركز ModalPopup داخل iframe عندما iframe الأم نافذة مخطوطات

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

سؤال

لدي صفحة على شبكة الإنترنت مع iframe في ذلك (أنا لا أحب ذلك, ولكن هكذا يجب أن يكون).ليس عبر المجال iframe ولذلك لا يوجد شيء يدعو للقلق هناك.

كنت قد كتبت مسج التمديد التي لا تتمحور من ModalPopup (وهو ما يسمى من تجاوزها AjaxControlToolkit.ModalPopupBehavior._layout الأسلوب) على أساس العرض والارتفاع iframe الأم ، بحيث يبدو تركزت على الرغم iframe ليس في وسط الصفحة.انها الكثير من الاشياء صعبة ، خاصة وأن صفحة ويب أضفت iframe أن يعمل في وضع المراوغات.

الآن, لقد تجاوز أيضا AjaxControlToolkit.ModalPopupBehavior._attachPopup, بحيث عند الوالد تغيير حجم النافذة أو مخطوطات ، ModalPopup داخل iframe لrecenter هو نفسه بالنسبة إلى الحجم الجديد الإطار الأصل.ولكن نفس القانون التي يعلقها المنبثقة الوالد النافذة تغيير حجم الحدث لا يعمل الوالد النافذة انتقل هذا الحدث.انظر التعليمات البرمجية أدناه و التعليقات:

AjaxControlToolkit.ModalPopupBehavior.prototype._attachPopup = function() {
    /// <summary>
    /// Attach the event handlers for the popup to the PARENT window
    /// </summary>
    if (this._DropShadow && !this._dropShadowBehavior) {
        this._dropShadowBehavior = $create(AjaxControlToolkit.DropShadowBehavior, {}, null, null, this._popupElement);
    }
    if (this._dragHandleElement && !this._dragBehavior) {
        this._dragBehavior = $create(AjaxControlToolkit.FloatingBehavior, {"handle" : this._dragHandleElement}, null, null, this._foregroundElement);
    }        
    $addHandler(parent.window, 'resize', this._resizeHandler); // <== This WORKS
    $addHandler(parent.window, 'scroll', this._scrollHandler); // <== This DOES NOT work
    this._windowHandlersAttached = true;
}

أي شخص يمكن أن تفسر لي لماذا حدث تغيير حجم الأعمال في حين انتقل الحدث لا ؟ أي اقتراحات أو البدائل هناك لمساعدتي ؟ أنا أعمل مع مسج ، حتى إذا كان يمكن استخدام شيء إلى جانب $addHandler طريقة من مايكروسوفت أنه سيكون على ما يرام.تكون على علم أن لدي أيضا إلى تجاوز _detachPopup وظيفة إزالة معالج, لذا يجب أن تأخذ ذلك في الاعتبار.

وذلك بفضل!

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

المحلول

فما باللك ، المراوغات بت وضع لي مرة أخرى.الحصول على scrollTop الموقف من الوالد كانت فاشلة لأنها documentElement لم تكن موجودة.بدلت

$(top.window.document.documentElement).scrollTop();

إلى

$(top.window.document.body).scrollTop();

في مسج امتداد تمركز رمز وانها سعيدة الآن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top