سؤال

عندما يتم إصدار IE8، هل ستعمل التعليمات البرمجية التالية لإضافة ورقة أنماط شرطية؟

<!--[if IE 8]>
  <link rel="stylesheet" type="text/css" href="ie-8.0.css" />
<![endif]-->

لقد قرأت تقارير متضاربة حول ما إذا كان هذا يعمل مع الإصدار التجريبي.آمل أن يتمكن شخص ما من مشاركة تجربته.شكرًا.

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

المحلول

وعملت بالنسبة لي - على حد سواء في وضع المراوغات وفي وضع الامتثال للمعايير. ومع ذلك، فإنه <م> لا العمل عند التبديل إلى وضع التوافق IE8.

نصائح أخرى

شيء واحد يجب ملاحظته:

انها تقوم بالعمل، لكن إذا كنت تقوم بتحميل الصفحة/الموقع الشبكة المحلية (على سبيل المثالالشبكة الداخلية) سيتم تحميله IE7 وضع بشكل افتراضي! (تحديث - مضيف محلي[*] هي حالة خاصة، ذلك يفعل تقديم في الوضع القياسي)

وهذا يتعارض مع بيان MSFT الأصلي المتمثل في اتباع المعايير افتراضيًا.

على سبيل المثال

http://127.0.0.1/mysite/mypage.php  <-- IE8 by default (updated!)
http://localhost/mysite/mypage.php  <-- IE8 by default (updated!)
http://machinename/mysite/mypage.php  <-- IE7 by default
http://192.168.100.x/mysite/mypage.php  <-- IE7 by default
http://google.com/  <-- IE8 by default

[*] - أشار سكوت ديكنز [MSFT] في تعليق هنا على مدونة IE كان هذا المضيف المحلي عبارة عن سيناريو خاص في الإنترانت (غالبًا ما يستخدم لتطوير مواقع الإنترنت) وبالتالي سيتم عرضه في الوضع القياسي افتراضيًا.

لاختبار الوضع الذي يتم عرض الصفحة في IE8 فيه بالفعل، يمكنك استخدام التحقق من أدوات المطور أو استخدام رمز الإشارة المرجعية هذا (يعمل فقط في IE8):

javascript:
var vMode=document.documentMode;
var rMode='IE5 Quirks Mode';
if(vMode==8){
  rMode='IE8 Standards Mode';
} else if(vMode==7){
  rMode='IE7 Strict Mode';
}
alert('Rendering in: '+rMode);

وأدوات / إعدادات العرض التوافق ازل كل منهم

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

وهذه هي قضية غريبة فريدة لIE8 - وعلى الرغم من أنني كنت قد قيل لها من المفترض أن تعمل بهذه الطريقة، أن تفعل شيئا مع "الأنماط الأفضلية" - أنه لا يؤدي إلا إلى خلق المشاكل لأن الحل يتطلب منك إزالة اللقب الذي قد تكون مفيدة عندما البرمجة، وما إلى ذلك - عندما كنت في حاجة لاستدعاء ورقة الأنماط

في أي حال، ليس متأكدا مما إذا كان هذا هو الخلل، أو ما يفترض أن يكون بهذه الطريقة، ولكن آمل أن مايكروسوفت تحقق من ذلك.

والشكر

لماذا تهتم بكتابة ورقة أنماط منفصلة لـ IE8؟

إذا قمت بالفعل بتصحيح أخطاء IE7، فيمكنك فرض IE8 في وضع التوافق، وبالتالي عرض التعليمات البرمجية الخاصة بك كما لو كان IE8 هو IE7.

كل ما عليك فعله هو وضع هذا مباشرة أسفل علامة الرأس المفتوحة.في أي مكان آخر ولن ينجح.

وبعد ذلك، يستغرق هذا العمل نصف ساعة أو أقل في المتوسط ​​لكل مشروع، ولا حاجة إلى تصحيح أخطاء مكثف لـ IE8!

حتى موقع Msn.com يفعل هذا، وهو أمر مثير للسخرية، أليس كذلك؟

كتبت تدوينة حول هذا الموضوع مؤخرًا: http://blog.sankhomallik.com/2009/11/16/stop-wasting-time-debugging-on-ie8-when-you-dont-have-to-or-get-ie8-to-behave-like- أي 7/

IE8 يبدو جميلًا جدًا مقارنةً بـ IE7، ولدي أوراق أنماط لـ IE6 وIE7 وIE8؛في البداية اعتقدت أن التعليقات الشرطية لا تعمل مع IE8 بعد قليل من التجارب، وجدت أن بعض القواعد لم يتم تطبيقها بواسطة IE8 فقط لأنني كنت بحاجة إلى وضع فئة السلف أو الأصل أولاً، على سبيل المثال.كان لدي فئة مثل

.niceclass {some:properties;more:properties;}

انها عملت فقط إذا قمت بتغييره لشيء مثل:

.parentclass .niceclass {some:properties;more:properties;} أو

#parentselector .niceclass {some:properties;more:properties;}

راجع للشغل في ملف CSS الخاص بـ IE8 فقط لدي قاعدة أساسية واحدة فقط، ويتم تقديم الباقي تقريبًا مثل Firefox، على الرغم من أن هذا لا يجعلني أترك FF على أي حال!.

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

وحاولت استخدام التعليقات المشروطة، ولكن دون جدوى، فإن IE8 لا تقييم إذا IE التعبير، وبالتالي لن تشمل الأنماط الخارجية.

وثم كان لي نظرة على وضعه في وضع المراوغات / التوافق، ولكن هذا لا يزال لا يعمل كما الخارقة CSS كنت قد استخدمت لم لم تعد تعمل لIE8.

وأخيرا والأقل وجدت CSS الإختراق العمل التي من شأنها أن تجعل الصفحة بشكل صحيح عندما تكون في وضع التوافق.

* + html #test[id] { color:lime } 

والآن، أنا لا أعرف إذا كان هذا يعمل لIE7 أو أقل، لذلك سيكون لديك ثلاثة على الأقل الخارقة مختلفة لكل IE تطلق تريد دعم، e.e.

* + html #test,
    html+body #test,
    * html body #test
    { color:lime }

وأتساءل ما الانحدار المقبل للالمستغل الإنترنت سوف لمح بالنسبة لنا.

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