استبدل البرنامج النصي إذا تم عرضه في IE9؟
-
25-09-2019 - |
سؤال
ما مدى سهولة تشغيل JavaScript مختلف اعتمادًا على متصفح المستخدم؟
على سبيل المثال ، إذا قام شخص ما بزيارة الموقع باستخدام IE9 ، أود أن يقوم بإدارة برنامج نصي مختلف إلى البرنامج الذي سيتم تشغيله بشكل طبيعي لمستخدمي Chrome.
المحلول
يمكنك استخدام التعليقات الشرطية لهذا:
<!--[if lte IE 6]>
<script>alert('lte stands for less than or equal to')</script>
<![endif]-->
<!--[if lt IE 7]>
<script>alert('lt stands for less than')</script>
<![endif]-->
<!--[if gte IE 9]>
<script>alert('gte stands for greater than or equal to')</script>
<![endif]-->
إلخ.
نصائح أخرى
هناك العديد من تقنيات الكشف عن المتصفح. يمكنك محاولة اكتشاف المتصفح (بنفسك عن طريق فحص navigator.userAgent
خاصية) أو يمكنك استخدام الأساليب المتاحة في كل إطار JavaScript تقريبًا. علي سبيل المثال:
بدلاً من ذلك يمكنك استخدامه التعليقات الشرطية لكن يتم التعرف عليها فقط من قبل IE.
- بافيل
يمكنك استخدام التعليقات الشرطية في HTML.
<!--[if IE]>
<script src="ie_only.js"></script>
<![endif]-->
يمكن استخدام هذا أيضًا في أوراق الأنماط الخارجية
مزيد من المعلومات حول هذا المنشور http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
هل لي أن أوصي باكتشاف الميزة بدلاً من ذلك.
if (someIEAPI) {
// ie code
} else if (someChromeAPI) {
// chrome code
}
هذا الرمز أكثر قوة ، وإذا كان Firefox أو Opera يدعم أحد واجهة برمجة التطبيقات ، فلن تضطر إلى التحقق من متصفحاتها على أي حال.
إلى جانب المتصفحات ، عادة ما تكون على الكذب عليك وتتظاهر بأنها كل ما هو الورك.