فاحص ميزات المتصفح

تعمل في المتصفح جديد أدوات الويب المساعدة

بنقرة واحدة تسأل المتصفح الذي تستخدمه عن الميزات التي يوفّرها فعلاً: 34 واجهة برمجية مثل عمّال الخدمة وWebAssembly وWebGPU وWebAuthn، و16 ميزة CSS عبر CSS.supports()‎، و12 صيغة صوت وفيديو وصور، والتخزين، وخمس حالات أذونات — دون أي نافذة طلب إذن. تُحصى النتائج لكل مجموعة، ويمكن نسخها تقريراً نصياً أو تنزيلها بصيغة CSV لإرفاقها ببلاغ خطأ. ولا يُرسل شيء إلى أي مكان.

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

ما كشف الميزات، ولماذا هو أفضل من فحص اسم المتصفح؟

كشف الميزات يعني أن تسأل المتصفح مباشرةً هل يوفّر واجهة برمجية أو ميزة CSS — هل navigator.serviceWorker موجود، وبماذا يجيب CSS.supports()‎ عن تصريح ما، وماذا تقول HTMLMediaElement.canPlayType()‎ عن ترميز ما — بدل التخمين من سلسلة وكيل المستخدم. فهو يعكس المتصفح الحقيقي وإصداره وإعداداته، بما في ذلك الميزات التي أوقفتها سياسة أو وضع خصوصية. والإجابة الإيجابية تعني أن الميزة متاحة لا أن كل أجزائها تعمل، لذا تبقى المسارات المهمة بحاجة إلى اختبار على أجهزة حقيقية.

كيفية استخدام فاحص ميزات المتصفح

  1. افتح هذه الصفحة في المتصفح الذي تريد فحصه — المتصفح الذي أُبلغ فيه عن الخطأ، أو الجهاز الموجود في مختبر الاختبار.
  2. اضغط «افحص هذا المتصفح». تستغرق الفحوص لحظة ولا تعرض أي نافذة طلب إذن.
  3. اقرأ الملخص ثم المجموعات: «مدعوم» و«على الأرجح» و«ممنوح» تعني أن الميزة موجودة؛ و«غير مدعوم» و«مرفوض» و«تعذّر الفحص» تعني أنها غير موجودة أو لم يمكن التأكد منها.
  4. اضغط «انسخ التقرير» أو «نزّل CSV» وأرفق النتيجة ببلاغ الخطأ أو بسجل الاختبار.

مزايا فاحص ميزات المتصفح

  • 34 واجهة ويب برمجية تُفحص بكشف الكائنات نفسها — عمّال الخدمة وWebAssembly وWebGL وWebGPU وWebAuthn وWeb Share وBluetooth وUSB والمنفذ التسلسلي وView Transitions وPopover وغيرها
  • 16 ميزة CSS تُفحص بالدالة CSS.supports()‎: الشبكة Grid والشبكة الفرعية، واستعلامات الحاوية، و‎:has()‎، والتداخل، وcolor-mix()‎، وألوان OKLCH، والتموضع بالمرساة، وطبقات التتالي وغيرها
  • 12 صيغة وسائط: فيديو H.264 وHEVC وVP9 وAV1، وصوت AAC وOpus وMP3 وFLAC عبر canPlayType()‎، وWebP وAVIF بفك صورة صغيرة مضمّنة، إضافة إلى امتدادات مصدر الوسائط وصورة داخل صورة
  • التخزين: اختبارات كتابة لملفات تعريف الارتباط وlocalStorage وsessionStorage، وIndexedDB، وواجهة Cache، ونظام الملفات الخاص بالموقع، وحصة تخزين هذا الموقع، وهل التخزين دائم
  • خمس حالات أذونات تُقرأ بواجهة Permissions، التي لا تعرض أي نافذة طلب إذن
  • ملخص لكل مجموعة، والفحص الدقيق وراء كل صف، وسياق الصفحة (السياق الآمن، والعزل عبر المصادر، وتقليل الحركة، ونظام الألوان)
  • انسخ النتيجة تقريراً نصياً أو نزّلها بصيغة CSV لبلاغ خطأ؛ ولا يُرسل شيء إلى أي مكان

المدخلات والمخرجات

المدخلات

  • المتصفح نفسه — لا شيء تكتبه؛ تجري الفحوص حين تضغط «افحص هذا المتصفح».
  • سياق الصفحة: السياق الآمن (HTTPS)، والعزل عبر المصادر، وسياسة الأذونات Permissions-Policy في الموقع، التي تعتمد عليها بعض الميزات.

المخرجات

  • الملخص — عدد الصفوف المدعومة أو القابلة للتشغيل أو المتاحة أو الممنوحة في كل مجموعة، مقابل عدد صفوفها.
  • خمسة جداول — واجهات الويب البرمجية، وCSS، وصيغ الوسائط، والتخزين، وحالات الأذونات — مع الميزة والنتيجة وطريقة الفحص.
  • عن هذا المتصفح — وكيل المستخدم، والسياق الآمن، والعزل عبر المصادر، ونقاط اللمس، ونسبة البكسل، وتفضيلا تقليل الحركة ونظام الألوان.
  • انسخ التقرير ونزّل CSV — النتائج نفسها نصاً أو ملف CSV.

مثال على فاحص ميزات المتصفح

متصفح مكتبي حديث

الإدخال:

افحص هذا المتصفح

النتيجة:

واجهات الويب البرمجية 30/34 مدعومة · CSS ‏16/16 مدعومة · صيغ الوسائط 10/12 قابلة للتشغيل أو الفك · التخزين 7/8 متاح · حالات الأذونات 1/5 ممنوحة
WebGPU — مدعوم — 'gpu' in navigator
فيديو HEVC / H.265 — غير مدعوم — video/mp4; codecs="hvc1.1.6.L93.B0"
صور AVIF — مدعوم — فك صورة AVIF بحجم 2×2
الإشعارات — سيُطلب الإذن — permissions.query({ name: 'notifications' })

كيف تقرأ نتائج فاحص ميزات المتصفح

«مدعوم» تعني أن المتصفح يوفّر الواجهة البرمجية أو يقبل CSS، ولا تثبت أن كل جزء يعمل. اعتبرها «تستحق الاختبار هنا»، واختبر الميزة الحقيقية حيث يهم الأمر.

«على الأرجح» و«ربما» هما مستوى ثقة المتصفح نفسه بصيغة الوسائط. «على الأرجح» نعم قوية؛ و«ربما» تعني غالباً أن الحاوية معروفة لكن الترميز يتوقف على الجهاز.

«ممنوح» و«مرفوض» و«سيُطلب الإذن» هي حالات الأذونات الحالية لهذا الموقع؛ و«سيُطلب الإذن» تعني أن نافذة الطلب ستظهر أول مرة تطلبه فيها صفحة.

يظهر SharedArrayBuffer عادةً «غير مدعوم» في الصفحات العادية: فالمتصفحات لا توفّره إلا للصفحات المعزولة عبر المصادر، وهو ما يذكره قسم «عن هذا المتصفح».

«محظور بإعداد» في التخزين تعني أن المتصفح يرفض تخزين بيانات لهذا الموقع، كأن يحظر إعداد خصوصية بيانات المواقع.

متى تستخدم فاحص ميزات المتصفح

  • إرفاق القدرات الدقيقة لمتصفح المختبِر أو العميل ببلاغ خطأ.
  • فحص جهاز في مختبر الاختبار قبل تنفيذ خطة اختبار التوافق.
  • التأكد من توفر ميزة يعتمد عليها إصدارك — WebGPU أو استعلامات الحاوية أو AVIF — في المتصفحات المدرجة في قائمة دعمك.
  • معرفة ما إذا كانت سياسة شركة أو إعداد خصوصية أو إضافة قد أوقفت ميزة ما.

استكشاف الأخطاء وإصلاحها

  • نتائج كثيرة تقول «تعذّر الفحص» — تدخّل مانع سكربتات أو إضافة خصوصية صارمة؛ اسمح بالسكربتات في هذه الصفحة أو افحص في ملف تعريف نظيف.
  • WebGL يظهر «غير مدعوم» على حاسوب قادر — تسريع العتاد معطّل في إعدادات المتصفح، أو أن المتصفح يحظر برنامج تشغيل الرسوميات.
  • التخزين يظهر «محظور بإعداد» — بيانات الموقع محظورة لهذا الموقع؛ راجع إعدادات ملفات تعريف الارتباط وبيانات المواقع في المتصفح.
  • إذن يظهر «لا يمكن الاستعلام» — هذا المتصفح لا يدعم اسم ذلك الإذن في واجهة Permissions، ولا يقول ذلك شيئاً عن الإعداد نفسه.

الأسئلة الشائعة حول فاحص ميزات المتصفح

ما الفرق بين هذه الأداة والبحث عن الميزة في caniuse.com؟

يخبرك caniuse.com أي إصدارات المتصفحات تدعم الميزة عموماً. أما هذه الصفحة فتسأل المتصفح الذي أمامك، فتعكس الإجابة أيضاً إصدارك بالضبط وإعداداته وسياسات الشركة وأوضاع الخصوصية والإضافات التي توقف بعض الميزات.

هل تعني كلمة «مدعوم» أن الميزة تعمل كاملة؟

تعني أن المتصفح يوفّرها: الواجهة البرمجية موجودة، أو أن CSS.supports()‎ يقبل التصريح. وقد تبقى أجزاء من الميزة ناقصة أو معيبة، وبعض الواجهات مثل WebGPU أو Web Bluetooth تحتاج أيضاً عتاداً أو إذناً عند استخدامها. لذا اختبر المسار المهم نفسه على أجهزة حقيقية.

هل يطلب الفحص إذن الكاميرا أو الميكروفون أو الموقع؟

لا. تُقرأ حالات الأذونات بواجهة Permissions التي تخبر بأن الإذن ممنوح أو مرفوض أو «سيُطلب» دون أن تعرض نافذة طلب، ولا تُفتح الكاميرا ولا الميكروفون ولا الموقع. بل إن الكاميرا والميكروفون والموقع لا تُدرج أصلاً، لأن هذا الموقع يوقفها في صفحاته.

ماذا تعني «على الأرجح» و«ربما» في صيغ الوسائط؟

هما إجابتا المتصفح نفسه من canPlayType()‎: «على الأرجح» تعني أنه يتوقع تشغيل الصيغة، و«ربما» تعني أنه قد يشغّلها، وغياب الإجابة يعني أنه لا يستطيع. ولا يثبت التشغيلَ إلا تشغيلُ ملف حقيقي. أما WebP وAVIF فتُفحصان بفك صورة صغيرة مضمّنة.

هل يُرسل أي شيء إلى خادم؟

لا. كل فحص يجري في متصفحك، واختبارات الصور تفك صوراً مضمّنة في الصفحة، والتقرير يُنسخ إلى حافظتك أو يُنزَّل، ولا يُرفع أبداً.

لماذا يعطي متصفحان على الحاسوب نفسه نتائج مختلفة؟

كل محرك متصفح يطلق الميزات وفق جدوله الخاص، وقد توقف الإعدادات أو السياسات أو الإضافات ميزةً في متصفح دون الآخر. لهذا تفحص الصفحة المتصفح نفسه بدل البحث عن اسمه.

ملاحظات تقنية

يتبع كشف الميزات نصيحة MDN ومواصفات W3C وWHATWG: افحص الكائن أو الدالة التي تضيفها الميزة ('serviceWorker' in navigator، وtypeof WebAssembly.instantiate)، لا اسم المتصفح. ويُفحص WebGL وWebGL 2 بطلب سياق رسم من عنصر canvas يُحرَّر فوراً.

تُفحص ميزات CSS بالدالة CSS.supports()‎ المعرّفة في مواصفة CSS Conditional Rules: وهي تجيب هل يحلّل المتصفح التصريح أو selector()‎ — لا هل نُفّذ كل جزء من الميزة. وتُكشف طبقات التتالي عبر الواجهة CSSLayerBlockRule، لأن القواعد التي تبدأ بـ @ لا تُمرَّر إلى CSS.supports()‎.

تستخدم صيغ الفيديو والصوت الدالة HTMLMediaElement.canPlayType()‎ من معيار HTML في WHATWG مع سلاسل الترميز في RFC 6381، وتكون الإجابة «probably» أو «maybe» أو لا شيء. وتُفك صيغتا WebP وAVIF من صورتين بحجم 2 × 2 مضمّنتين في الصفحة، فلا يُجلب أي ملف.

تأتي حالات الأذونات من navigator.permissions.query()‎ التي تعيد granted أو denied أو prompt دون أن تسأل الزائر شيئاً، والاسم الذي لا يعرفه المتصفح يظهر «لا يمكن الاستعلام». وتأتي حصة التخزين واستمراريته من دالتي StorageManager‏ estimate()‎ وpersisted()‎.

الحدود ومنهجية القياس

يُظهر الكشف ما يوفّره المتصفح لا جودة عمله: لا تُقاس التطبيقات الجزئية ولا الأخطاء ولا الأداء.

لا تُدرج أذونات الكاميرا والميكروفون والموقع، لأن سياسة الأذونات Permissions-Policy في هذا الموقع توقفها في صفحاته؛ وتُظهر صفوف الواجهات البرمجية فقط أن المتصفح يوفّرها.

إجابات الترميز تأتي من المتصفح وقد تتوقف على نظام التشغيل والعتاد؛ ولا يثبت التشغيلَ إلا تشغيلُ ملف حقيقي.

تصف النتائج هذا المتصفح في هذه اللحظة: قد يغيّرها تحديث أو إعداد أو إضافة.

الأمان والخصوصية

كل فحص يجري في متصفحك ولا يُرسل شيء إلى خادم متقن ولا إلى غيره؛ واختبارات الصور تفك صوراً مضمّنة في الصفحة.

يتضمن التقرير وكيل المستخدم وتفضيلات مثل تقليل الحركة، ولا يذهب إلا حيث تنسخه أو تنزّله — راجعه قبل إرفاقه ببلاغ عام.

المراجع

  • Implementing feature detection — MDNMDN Web Docs (Mozilla)لماذا يجب أن يفحص الكود الميزة نفسها (كائناً أو دالة أو CSS.supports()‎) لا اسم المتصفح، مع الأنماط الشائعة للكشف.
  • CSS: supports() static method — MDNMDN Web Docs (Mozilla)الدالة CSS.supports()‎: هل يدعم المتصفح خاصية وقيمة، أو شرط selector()‎، كما تعرّفها مواصفة CSS Conditional Rules.
  • HTMLMediaElement: canPlayType() method — MDNMDN Web Docs (Mozilla)كيف تسأل الصفحة هل يمكن تشغيل نوع وسائط وترميز معيّن، وما معنى الإجابات «probably» و«maybe» والسلسلة الفارغة.