كيفية تحديد متصفح المستخدم باستخدام PHP؟
سؤال
كيفية تحديد متصفح المستخدم باستخدام PHP؟
بحيث إذا كان متصفح المستخدمين هو IE ، فإن المتغير $ alert = "onbeforeunload" وإذا لم يكن IE ، على سبيل المثال Firefox (آخر) ثم $ alert = "Onload.
المساعدة موضع تقدير كبير.
شكرًا
يرجى أيضًا ملاحظة أنه لا يمكنني تثبيت prowscap.ini على خادم PHP الخاص بي.
المحلول
معرفة ما إذا كان هذا الرمز يعمل من أجلك
<?php
function detect_ie(){
return (sizeof(explode("MSIE",$_SERVER['HTTP_USER_AGENT'])) > 1);
}
if (detect_ie())
$event = "onbeforeunload";
else
$event = "onload";
?>
نصائح أخرى
لا يمكنك. ليس بدقة 100 ٪. أفضل طريقة للتحقق من وكيل المستخدم ، ومع ذلك فإن المستخدم حر لعدم توفيره ، أو مزيفًا ، لذا حاول تجنب الاعتماد عليه.
$ua = $_SERVER['HTTP_USER_AGENT'];
إذا كان المتصفح هو IE ، فيجب أن يكون (Roughly) تطابق (حيث # رقم)
Mozilla/#.0 (compatible; MSIE #.##;
الذي سيكون Regex شيء مثل
'~^Mozilla/[0-9]\.0 (compatible;\s+MSIE~i'
بدلاً من ذلك ، يمكنك فقط التحقق من السلسلة "MSIE" والتي ستكون أبسط وأقل صرامة قليلاً.
ولكن كما قال Michal ، هناك تنافسات أخرى (أفضل) على صفحة اليدوة get_browser
استعمال $_SERVER['HTTP_USER_AGENT']
تحقق مما إذا كان يحتوي على "IE" مباشرة يتبعه رقم.
أفضل القيام بذلك في JavaScript نفسها رغم ذلك.
if (typeof window.onbeforeunload !== "undefined") window.onbeforeunload = myFunc;
else window.onunload = myFunc;
مكتبات JavaScript أفضل بكثير لاكتشاف ومعالجة سلوك المتصفح المختلفة. فقط دع مكتبة ناضجة مثل jQuery تتعامل مع هذا وستكون بخير.