Bearcap Ini توجيه عدم تعيين
-
19-09-2019 - |
سؤال
أنا أستخدم get_browser()
وظيفة في محاولة لتحذير الأشخاص الذين لا يدعمون متصفحهم جافا سكريبت. في الواقع أنا أستخدمه لإخبارهم أنهم يمكنهم استخدام أجزاء معينة من تطبيق ويب أنا أبني. لقد قررت استخدام جافا سكريبت بشكل صحيح لأنني تعبت من الاستماع إلى المطورين الخائفون من استخدامه ولم أر إمكانات كبيرة باللغة. أنا digress، ها هو الخطأ.
Bearcap Ini توجيه عدم تعيين
الآن أود أن أتصور هذا يعني أنني بحاجة إلى تعيين شيء php.ini. هل يمكن لشخص أن يعطيني بعض الاتجاهات على هذا؟
المحلول
لا أعتقد أن هذا هو الحل "الأفضل" للكشف عنه هو المستعرض يدعم ما تحتاجه لموقع الويب الخاص بك:
- بادئ ذي بدء، يمكن للمتصفحات الكذب - يمكنهم إرسال ما تريده
User-Agent
- وحتى إذا كان هناك إصدار معين من الدعم يجب أن يدعم ما تحتاجه، لا يزال بإمكان جافا سكريبت معطلا.
- ثانيا، هناك طريقة "مناسبة" للكشف عن المستعرض الذي يمكن أن يفعله أم لا، عندما يتعلق الأمر بجوار جافا سكريبت.
في النقطة الثانية، يجب عليك اختبار ما إذا كان المتصفح يدعم بالفعل ما تحتاجه - وليس الاعتماد على قائمة مثل BrowardCap One.
لا يزال، للإجابة على سؤالك حول browscap
: هناك ملاحظة في الجزء السفلي من الصفحة اليدوية ل get_browser
التي يقول (اقتباس) :
ملحوظة: من أجل هذا للعمل، الخاص بك
browscap
يجب الإشارة إعداد التكوين في PHP.INI إلى الموقع الصحيح للbrowscap.ini
ملف على نظامك.browscap.ini
لا يتم تجميعها مع PHP، ولكن قد تجد حتى الآن »php_browscap.ini
ملف هنا.
في حينbrowscap.ini
يحتوي على معلومات حول العديد من المتصفحات، تعتمد على تحديثات المستخدم للحفاظ على قاعدة البيانات الحالية. تنسيق الملف واضح إلى حد ما.
لذلك، يجب عليك:
- قم بتنزيل ملف Browscap،
- وتعيين
browscap
التوجيه في الخاص بكphp.ini
ملف، لذلك يشير إلى الملف الذي قمت بتنزيله.
نصائح أخرى
أعرف أن هذا الموضوع قديم، ولكن يمكنك استخدام شيء مثل:
<noscript>JavaScript must be enabled</noscript>
لعرض إذا لم يتم تمكين جافا سكريبت.
يمكنك التحقق من المتصفح باستخدام فئة المتصفح تنزيلها من جيثب
إعدادات
include(/your-path/Browser.php);
$browser = new Browser();
if( $browser->getBrowser() == Browser::BROWSER_IE && $browser->getVersion() >= 8 )
{
echo "Your browser is Internet explorer version 8";
}
هناك خطأ في PHP الذي يمكن أن يؤدي أيضا إلى هذا الخطأ عندما تكون المشكلة الحقيقية هي أن خادم الويب لا يمكن قراءة ملف Browardcap (على سبيل المثال، إذا كان مملويا من الجذر بدلا من بيانات WWW-Data). يرى https://bugs.php.net/bug.php؟id=74501.