سؤال

وأنا باستخدام مسج جديد 1.3.2 ومسج-UI 1.7 المكتبات جنبا إلى جنب مع الحوار UI. لدي علامة div مع عناصر عدة شكل (نص، مربع، الخ) في ذلك. على تحميل الصفحة، مسج يبين شعبة باعتباره الحوار. هذا يعمل بشكل جيد للغاية في FF، ولكن في IE، ذروة شعبة خاطئ. انها مجرد إظهار شريط العنوان قليلا من المحتوى. أنا وضعت بشكل واضح ارتفاع عند إنشاء شعبة. إذا أنا وضعت خيار الارتفاع بعد فتح الحوار، يتم تصحيح الارتفاع، ولكن المضمون هو فارغة (يظهر الثلث العلوي من النص). إذا أسمح الحوار ليكون كبير ثانية، إذا كنت حجمه في IE أنه يعمل بشكل جيد، ولكن لا أريد لإجبار المستخدمين IE لتغيير فقط لرؤية محتويات. أيه أفكار؟ هنا هو رمز يمكنني استخدامها لخلق الحوار:

$('#dialogDiv').dialog({ 
    bgiframe: true, 
    height: 400, 
    width: 620, 
    modal: true, 
    draggable: true, 
    resizable: false, 
    close: function(event, ui) {
        if($('#agree').val() != '1')
            location.href = 'somepage.html';
    }
});
هل كانت مفيدة؟

المحلول 6

وأنا قد أجبت على سؤالي الخاص. كان لي فقط للعب مع خصائص ارتفاع الحوار وبعض العناصر داخل الحوار. حسن الاتصال بي!

نصائح أخرى

وبعد القيام ببعض عمليات البحث جوجل، وجدت الجواب الحقيقي عن السؤال. وهو ناتج عن طريق DOCTYPE غير المتوافقة. الرجاء الانتقال إلى http://osdir.com/ml/jquery-ui /2009-08/msg00388.html لمزيد من المعلومات.

وحاولت على رموز بلدي والحل في هذا URL لا يحل المشكلة.

وكنت تواجه هذه المشكلة نفسها في IE7 وأخذ نظرة أعمق في الأعراض والحل. لقد لاحظت أنني عندما خلق الحوار وهمية مع أي محتوى ثم ارتفاع جعلت بشكل صحيح. وهكذا، بدأت اللعب حولها مع أنواع مختلفة من المحتوى لأرى إن كنت أستطيع كتابة محتوى مختلف للتغلب على هذه المسألة. لا حظ. ما لم يكتشف، ومع ذلك، هو أن المزيد من المحتوى أضفت، وأقصر حصلت على الحوار في IE7 فقط (حتى البنود الخفية تقصير عليه قليلا). وهكذا، فإن محتوى بسيط من المحتمل أن لا يكون له تأثير كبير ملحوظ (وبالتالي، عدم وجود المزيد من الشكاوى بشأن هذه المسألة). الطاولة والعديد من البنود شكل كنت مضيفا خلق تأثير ملحوظ جدا.

وتحديد الارتفاع لصناعة السيارات تعمل بشكل جيد نوعا ما ولكن لا يزال IE7 miscalculates الارتفاع على المحتوى الخاص بي بنحو 10 بكسل قصيرة جدا (ربما ارتفاع الحشو على كائن)، وبالتالي مسج يضيف شريط التمرير. لم يكن مثاليا، ولكنها مقبولة بالنظر إلى ما يلي.

وبعد أن فشلت في العثور على الحل آخر، وبدأت تبحث في حل DOCTYPE. اكتشفت أن DOCTYPE موقعنا - وعلى الرغم من أنه يبدو الصحيح - في الواقع يضع جميع المتصفحات في "وضع المراوغات" وأن هذا هو المصدر الحقيقي للقضية. أشك في أن مسج تدعم قضايا الوضع المراوغات لذلك أشك في أي وقت تكون ثابتة هذا.

وبلدي DOCTYPE الحالي:

و<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

وماذا يجب أن تكون:

و<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

وحتى هذا السن DOCTYPE عمل:

و<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd">

وهكذا، فإنه ليس أن DOCTYPE يجب أن تكون قيمة HTML 5 من <!DOCTYPE html>، فإنه هو أنه يجب أن يكون DOCTYPE صالح (HTML 4 أو 5 - غير متأكدة XHTML) التي سيتم تعيين IE7 لشيء آخر من المراوغات وضع (فايرفوكس يعمل بطريقة بخير سواء). انظر:

http://en.wikipedia.org/wiki/Quirks_mode#Comparison_of_document_types

وليس لدي خيار لتغيير DOCTYPE موقعنا وذلك لدي لاستخدام حل آخر مثل ارتفاع السيارات. لقد لاحظت أن هناك اختلافات أخرى بين المراوغات وسائط المقاييس عند استخدام الحوار مسج لذلك لا بد لي من التعامل مع تلك أيضا (أي يتم تجميع النسب المئوية حجم الخط بشكل مختلف في كل IE7 وفايرفوكس).

وجئت عبر نفس المشكلة أيضا. نعم، من خلال عدم تحديد الارتفاع، IE لا تغيير حجم مربع الحوار ويظهر محتوياته. ومع ذلك، لا أريد مربع حوار مشروط لتستمر في النمو كما الحصول على محتويات لفترة أطول. الوضع المثالي هو أن يكون لعرض مربع الحوار مع الارتفاع المحدد ويمكن للمستخدمين عرض محتويات باستخدام شريط التمرير. هذا يعمل تماما في فايرفوكس. هل لديها حل لIE؟

وكنت قادرا على إصلاح هذا عن طريق إعطاء وحدة على ارتفاع مثل هذا:

$(id).dialog({ modal: true, height: h + "px", width: w });

وأنا لم يكن لديك لفوضى مع DOCTYPE. كان هذا على IE8، مسج 1.4.4، ومسج UI 1.8.9.

و- كان لسريعة لإضافة هذا واحد. أن وقوعه في فايرفوكس. تجاهل لي!

وحصلت مشاكل مماثلة عند استخدام الخط أحجام بالبكسل. حجم الخط: 11px - حجم الخط: 15px؛ في المغلق تسبب في مشاكل ارتفاع في IE9. FONT-SIZE: 16px؛ وحتى يعمل بشكل جيد في IE9

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