في الأسبوع الماضي ، أطلقت Microsoft رسميًا المعاينة الأولى لـ Internet Explorer 11 مع Windows 8.1. وبهذه الطريقة ، حان الوقت للاستراحة على جميع الشائعات حول هذه النسخة المثيرة للجدل التي تم تسريبها من متصفح الويب. نحن نعرف الآن بعض التفاصيل المهمة حول Internet Explorer 11 ، بما في ذلك دعم WebGL ، و prective (ملاحظة المترجم: Preadead ، مثل تحميل الملفات ، وما إلى ذلك ، ولا أعرف ما إذا كانت الترجمة صحيحة) ، Prerender (التمثيل المسبق) ، Flexbox ، مراقبون الطفرة ومعايير الويب الأخرى. ربما يكون أكثر إثارة للاهتمام في IE11 هو ما إذا كان هو IE.
قامت Microsoft بإزالة بعض الميزات من متصفح Internet Explorer لأول مرة منذ فترة طويلة. لقد تغيرت سلسلة وكيل المستخدم أيضًا. يبدو أن Microsoft قد تخلت عن طريقها الخاص بحيث سترجع فروع رمز IE الموجودة في متصفح Internet Explorer 11 ، سواء في JavaScript أو على الخادم.
التغييرات إلى وكيل المستخدم
بالمقارنة مع الإصدارات السابقة ، فإن سلسلة مستخدمي Internet Explorer 11 أقصر ، وهناك بعض التغييرات المثيرة للاهتمام:
نسخة الكود كما يلي:
Mozilla/5.0 (Windows NT 6.3 ؛ Trident/7.0 ؛ RV 11.0) مثل Gecko
لسلاسل وكيل المستخدمين لـ Internet Explorer 10 على Windows 7
نسخة الكود كما يلي:
Mozilla/5.0 (متوافق ؛ MSIE 10.0 ؛ Windows NT 6.1 ؛ WOW64 ؛ TRIDENT/6.0)
الفرق الأكثر وضوحًا هو أن علامة "MSIE" لسلسلة وكيل المستخدم في متصفح Internet Explorer تمت إزالة. مقنع أيضًا إضافة "مثل Gecko" إلى ذيل وكيل المستخدم. هذا يدل على أن Internet Explorer يفضل الاعتراف بمتصفح Gecko من كمستكشف Internet نفسه. Safari هو أول متصفح يضيف "مثل Gecko" ، بحيث يمكن لأي شخص استنشاق حرف "Gecko" في سلسلة وكيل المستخدم للسماح للمتصفح بالمرور.
الآن لا يعمل أي رمز استنشاق يبحث عن "MSIE" ضمن سلسلة وكيل المستخدم الجديدة. لا يزال بإمكانك البحث عن شخصية "ترايدنت" لتحديد أنه هو متصفح IE (تم تقديم شعار "Trident" مع Internet Explorer). يتم تحديد النسخة الحقيقية من Internet Explorer بواسطة "RV".
بالإضافة إلى ذلك ، تغيرت معلومات كائن Navigator أيضًا ، مما يخفي المتصفح المستخدم.
تم تعيين Navigator.AppName على "Netscape"
تم تعيين Navigator.Prodate على "Gecko"
قد يبدو هذا بمثابة محاولة لخداع المطور بشكل متسلل ، ولكن هذه في الواقع محددة HTML5. يجب أن تكون خاصية Navigator.Product "Gecko" ، ويجب أن يكون Navigator.AppName أيضًا "Netscape" أو أكثر تحديداً. لكن Internet Explorer 11 يفتقر إلى اتباع هذا الاقتراح الغريب.
قد لا تتوفر الآثار الجانبية التي تسببها التغييرات في معلومات المستكشف ، وكشف المتصفح بناءً على منطق JavaScript للاستخدام ، مما تسبب في التعرف على Internet Explorer 11 كمتصفح قائم على Gecko.
Document.all وأصدقائه
منذ IE4 ، Document.all لقد فعلت كل شيء في متصفح IE. المستند. على الرغم من أن Document.all يحافظ على دعم DOM من IE5 إلى IE10. ومع ذلك ، في 11 ، تم تعيين المنتج المتبقي من هذه الحقبة لإرجاع خطأ ، مما يعني أن أي حكم فرع رمز يعتمد على المستند. سيفشل في IE11 ، حتى لو كان الرمز يستخدم بالفعل المستند.
إرث آخر هو المرفق () الذي يضيف وظيفة الحدث ، على غرار طريقة detachevent (). تمت إزالة هذه الطريقة من IE11. تتم إزالة هذه الطرق لتجنب بعض الأحكام المنطقية ، مثل:
نسخة الكود كما يلي:
وظيفة AddEvent (العنصر ، النوع ، معالج) {
if (element.attachevent) {
element.attachevent ("on" + type ، handler) ؛
} آخر إذا (element.adDeventListener) {
element.addeventListener (النوع ، معالج ، خطأ) ؛
}
}
بالطبع ، نوصي بأن يكون الإصدار الذي تستخدمه للاختبار دائمًا مستقرًا وتلبية المعايير. على مستوى ما ، لا تتسبب إزالة طريقة المرفقات في أي إزعاج. ومع ذلك ، فإن الإنترنت مليء برموز منطق الكشف عن الميزات للإنترنت. يضمن إزالة طريقة الملحق أن أي رمز مكتوب بالطريقة أعلاه سيستخدم الإصدار القياسي بدلاً من الطرق الخاصة بـ IE.
بعض الميزات الأخرى التي تمت إزالتها:
window.execscript () - أي إصدار من طريقة eval ()
window.doscroll () - أي طريقة تمرير نافذة
Script.OnReadyStateChange - تغييرات حالة التحميل في IE
Script.ReadyState - حالة تحميل النص في IE
document.selection-النص المحدد حاليًا في أي
Document.Createstyleshelsheet-وثيقة ورقة الأنماط في IE
Style.Stylesheet-كائن نمط في متصفح IE الذي يشير إلى ورقة نمط
يتم استبدال كل طرق متصفح IE هذه بالميزات القياسية. بعد إزالة هذه الميزات والأساليب ، يمكن أن يعمل رمز المتصفح المتقاطع على أساس اكتشاف الميزات الوظيفية القياسية بشكل طبيعي دون تغيير.
ختاماً
ربما يكون IE11 أفضل متصفح IE لفترة طويلة. تستعد Microsoft أخيرًا للتخلص من الأخطاء التي ارتكبت في الماضي وهي جاهزة للبدء بالمتصفحات بناءً على المعايير الحالية. يعد حذف الميزات القديمة وتعديل سلاسل وكيل المستخدم غير المعترف بها لأن متصفحات IE هو ممارسة فريدة ، مما يضمن استمرار جميع مواقع الويب في العمل. إذا كان تطبيق الويب يستخدم اكتشاف الميزات بدلاً من استنشاق المتصفح ، فيجب تشغيل الكود في IE11. بالنسبة للتطبيقات التي تستخدم استنشاق وكيل المستخدم ، لا يزال بإمكان المستخدمين رؤية موقع ويب له وظائف جيدة ، لأن IE11 لديه دعم ممتاز للمعيار.
مستقبل بدون رمز فرع IE قادم ، دعونا نتطلع إليه معًا.
(تم تحديثه في 2 يوليو 2013) ، لم يتم حذف كل الوثيقة المذكورة في المراجعة ، ولكن تم تغييرها إلى Falsy
لم أترجم المقال لفترة طويلة. هذه المرة ترجمت مدونة نيكولاس سي زكاس. النص الأصلي موجود هنا: