يحتوي كائن Navigator على معلومات حول المتصفح:
• AppCodename - تمثيل سلسلة اسم رمز المتصفح
• appname - تمثيل سلسلة لاسم المتصفح الرسمي
• appversion - تمثيل سلسلة معلومات إصدار المتصفح
• ملفات تعريف الارتباط - العودة صحيحًا إذا تم تمكين ملف تعريف الارتباط ، وإلا عد كاذبة
• JavaEnabled - إرجاع صحيح إذا تم تمكين Java ، وإلا فإن إرجاع خطأ
• النظام الأساسي - تمثيل سلسلة منصة الكمبيوتر حيث يوجد المتصفح
• الإضافات - مجموعة من الإضافات المثبتة في المتصفح
• taintenabled - إرجاع صحيح إذا تم تمكين وصمة عار البيانات ، وإلا قم بإرجاع خطأ
• useragent - تمثيل السلسلة لرأس وكيل المستخدم
أهم شيء في Navigator هو سمة Useragent ، التي تُرجع سلسلة تحتوي على معلومات مثل إصدار المتصفح ؛
ملف تعريف الارتباط مهم أيضا. استخدمه لتحديد ما إذا تم تمكين متصفح المستخدم.
هناك عمومًا طريقتان للحكم على أنواع المتصفح في JavaScript. أحدهما هو التمييز بينها استنادًا إلى السمات الفريدة للمتصفحات المختلفة ، والآخر هو الحكم من خلال تحليل سمة المستخدم للمتصفح (لا يمكن الحصول على الإصدار إلا عن طريق تحليل المستخدم) ؛
لا يمكن معالجة مشكلات التوافق إلا بعد تحديد كل من نوع المتصفح وإصدار المتصفح.
1. استخدم الخصائص في useragent لتحديد نوع المتصفح والإصدار (ممارسات التأمين شائعة الاستخدام)
وظيفة getBrowserInfo () {var sys = {} ؛ var ua = navigator.useragent.toLowerCase () ؛ var s ؛ (s = ua.match (/msie ([/d./2010)/))؟ sys.ie = s [1]: (s = ua.match (/firefox // ([/d.]+)/))؟ sys.firefox = s [1]: (s = ua.match (/chrome // ([/d.]+)/))؟ sys.opera = s [1]: (s = ua.match (/opera. ([/d.]+)/))؟ sys.opera = s [1]: (s = ua.match (/version // ([/d.]+).*Safari/))؟ sys.safari = s [1]: 0 ؛ if (sys.ie) {return 'ie:' + sys.ie ؛ } if (sys.firefox) {return 'firefox:' + sys.firefox ؛ } if (sys.Chrome) {return 'chrome:' + sys.Chrome ؛ } if (sys.opera) {return 'opera:' + sys.opera ؛ } if (sys.safari) {return 'safari:' + sys.safari ؛ }} var browser = getBrowserInfo () ؛ var verinfo = (browser+""). استبدال (/[^0-9.]/ig ، "") ؛ // رقم الإصدارملاحظة: تتوفر Chrome و Safari في قيمة سمة Useragent لبعض المتصفحات لأن useragent Chrome يحتوي أيضًا على خصائص Safari ، لذلك قد يكون هذا هو الأساس لتشغيل تطبيقات متصفح Safari.
2. التمييز بين المتصفح من خلال الميزات الفريدة لكل متصفح (ملاحظة: قد تتغير هذه الميزات مع إصدار المتصفح ، أو قد تضيف متصفحات أخرى هذه الميزة ، مما يؤدي إلى فشل الحكم)
IE: يدعم IE فقط إنشاء عناصر تحكم ActiveX ، وبالتالي فإن وظيفة ActiveXObject غير متوفرة للمتصفحات الأخرى. فقط تحكم على أن كائن النافذة يحتوي على وظيفة ActiveXobject ، ومن الواضح أن المتصفح الحالي هو IE.
Firefox: تحتوي عناصر DOM في FF على وظيفة getBoxObjectFor للحصول على موضع وحجم عنصر DOM. هذا فريد من نوعه ل Firefox. يمكنك معرفة أن المتصفح الحالي هو Firefox. (وظيفة getBoundingClientRect المقابلة لـ IE)
الأوبرا: توفر Opera شعار متصفح خاص - خاصية Window.opera.
Safari: وظيفة Opendatabase غير متوفرة في المتصفحات الأخرى ويمكن استخدامها كعلامة للحكم على Safari.
Chrome: مثل FF ، هناك وظيفة MessageVent ، ولكن Chrome لا يحتوي على وظيفة getBoxObjectfor FF. بناءً على هذين الشرطين ، يمكن الحكم على متصفح الكروم.
var sys = {} ؛ var ua = navigator.useragent.toLowerCase () ؛ if (window.activexObject) {sys.ie = ua.match (/msie ([/d.000)/mnybud1/20101else/also (/d. if (window.messageEvent &&! document.getBoxObjectfor) {sys.chrome = ua.match (/chrome // ([/d.] ua.match (/الإصدار // ([/d.]+)/) [1] ؛}المستوى محدود ، والأخطاء غير المناسبة في المقالة أمر لا مفر منه. النقد والتصحيح والاقتراحات والتعليقات مرحب بها. سيتم مراجعة المقالة وتحسينها من وقت لآخر. شكرًا!
الطريقة البسيطة للحصول على معلومات إصدار المتصفح والحكم عليها في المقالة أعلاه هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.