كيف يمكن جافا سكريبت يسبب IE 8 لإعادة تحميل صفحة في طريقة العرض التوافق؟
-
22-07-2019 - |
سؤال
وأنا على اختبار تطبيق على شبكة الإنترنت جافا سكريبت معقد إلى حد ما في Internet Explorer 8 على ويندوز فيستا. بعد تحميل التطبيق، IE في "المعايير" واسطة المتصفح و"IE 8 معايير" وضع المستند. أثناء تشغيل التطبيق، سوف IE أحيانا إعادة تحميل الصفحة وعرض رسالة تقول شيئا مثل "مشكلة عرض مع (URL) تسبب Internet Explorer لإعادة تحميل الصفحة في عرض التوافق" (وليس الرسالة بالضبط، وأنا على نسخة من ويندوز فيستا-غير الإنجليزية). بعد إعادة تحميل، والمتصفح في وضع المراوغات.
والتصحيح شفرة جافا سكريبت كان ضربا من العبث منذ المشكلة لا يمكن تتكرر بشكل موثوق أو تضييق، لذلك أود أن نقدر أي فكرة عن ما يمكن أن يسبب هذا السلوك.
المحلول
ويجب أن يكون هناك مشكلة مع الترميز كنت تخدم / خلق عبر innerHTML
. هنا مقال من فريق IE والذي يتضمن <لأ href = "http://blogs.msdn.com/ie/archive/2009/06/17/compatibility-view-and-smart-defaults.aspx" يختلط = "نوفولو noreferrer "> تفاصيل IE لصناعة السيارات في الانتعاش من العلامات التي من المستحيل أن تحليل بشكل صحيح في IE8-معايير الوضع:
و... هناك معينة مسارات التعليمات البرمجية ضمن تصميم محرك جديد حيث يجب أن يحدث خطأ، فإن عملية التخطيط لا يمكن استرداد برشاقة ولقد أبقى تأكيدات حول هذه المسارات ... والمكرر هذه التجربة أكثر في صدر نسخة من IE8 باسترجاع تخطيط "من الصعب يؤكده" باستخدام طريقة عرض التوافق. وبعبارة أخرى، نعتقد أن عرض صفحة الطريقة سوف IE7 ديك يوفر تجربة أفضل للمستخدم من إظهار أي محتوى على الإطلاق.
اقتباس فقرة> لاحظ أن استخدام innerHTML
استدعاء محلل HTML، لذلك يمكن أن تؤدي هذه المشكلة حتى بعد يتم تحميل الصفحة إذا تغذت سلسلة HTML لا يمكن أن تجعل رأس ولا ذيل.
نصائح أخرى
وأساسا. في الصفحات، يمكنك إضافة علامة وصفية
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
وأو موقع في جميع أنحاء هذا إضافة إلى رأس:
X-UA-Compatible: IE=EmulateIE7
هل هذا يحدث في كل IE8 يثبت؟ وIE8 تحديث مع أحدث بقع؟ (هل يمكن أن يكون امتدادا طرف ثالث يمكن الاعتماد عليها؟)