سؤال

أريد استخدام IE8 كعنصر تحكم WebBrowser في تطبيق C#. كيف يمكنني تعطيل "وضع المراوغات" وإجبار IE على الامتثال للمعايير (بقدر ما يتم تنفيذه)؟

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

المحلول

أعتقد أن المشكلة التي تواجهها موصوفة في IEBLOG: WebBrowser Control Admes in IE8:

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

هنا يجب أن أشير إلى أن التعليقات الموجودة على الصفحة تقول إن ما سبق غير صحيح ، وهذا ""تقوم IE8 بإعداد صفحات تعمل في حالات التحكم في WebBrowser في الوضع الصارم أو وضع المراوغات بشكل افتراضي, ، اعتمادا على doctype الصفحة. "

الحل كما يلي:

عندما يقوم أحد القابلة للتنفيذ بتحميل مثيل للتحكم في WebBrowser ، فإنه يقوم بمسح السجل للتحقق مما إذا كان القابل للتنفيذ يريد معايير IE7 أو وضع معايير IE8.

...

لتشغيله في وضع معايير IE8 ، أدخل قيمة التسجيل التالية:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]

"MyApplication.exe"=dword:13880

في كلتا الحالتين ، يجب استبدال myapplication.exe باسم القابل للتنفيذ الذي سيتم تشغيل عناصر تحكم WebBrowser في وضع محدد.

لذلك يبدو أن الحل "البرمجي" هو كتابة مفتاح في السجل يقول أنك تريد وضع معايير IE8 WebBrowser عناصر التحكم في تطبيقك المحدد.

نصائح أخرى

إذا كنت لا ترغب في استخدام تقنية مفتاح التسجيل ، فيمكنك إدراج العلامة التالية:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

سمة "المحتوى" قوى تقديم في أوضاع مختلفة.

آخر ما سمعته هو أن IE8 ستستخدم وضع المعايير افتراضيًا. هل ترى مشكلة فعلية مع أحدث إصدار تجريبي؟ هل أنت متأكد من أنه يتم تقديمه في وضع المراوغات للبدء به ، دون أن يضرب مستخدم بشكل صريح زر عرض التوافق?

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

يحتوي هذا على رمز فعلي للقيام بذلك برمجيًا ويتعامل مع IE11 حتى الآن:

C# WebBrowser Ajax Call

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