开发者

How to determine the browser of the user using PHP?

开发者 https://www.devze.com 2022-12-27 18:40 出处:网络
How to determine the browser of the user using PHP? So that if the users browser is IE then the variable $alert=\"onbeforeunload\" and if it is not IE, for example Firefox (else) then $alert=\"onload

How to determine the browser of the user using PHP?

So that if the users browser is IE then the variable $alert="onbeforeunload" and if it is not IE, for example Firefox (else) then $alert="onload.

Help is much appreciated.

Thanks

Also please note that I can not 开发者_JAVA技巧install browscap.ini on my PHP server.


See if this code works for you

<?php
function detect_ie(){
    return (sizeof(explode("MSIE",$_SERVER['HTTP_USER_AGENT'])) > 1);
}

if (detect_ie())
    $event = "onbeforeunload";
else
    $event = "onload";

?>


You can't. Not with 100% accuracy. The best method that is to check the user agent, however the user is free not to supply it, or fake it so try to avoid relying on it.

$ua = $_SERVER['HTTP_USER_AGENT'];

If the browser is IE, it should (roughtly) match (Where # is a number)

Mozilla/#.0 (compatible;  MSIE #.##;

For which the regex would be something like

'~^Mozilla/[0-9]\.0 (compatible;\s+MSIE~i'

Alternatively you could just check for the string "MSIE" which would be simpler and slightly less strict.

But as @Michal said, there are other (better) implmentations on the get_browser manual page


use $_SERVER['HTTP_USER_AGENT']

Check if it contains "IE" directly followed by a number.

I'd rather do this in javascript itself though.

if (typeof window.onbeforeunload !== "undefined") window.onbeforeunload = myFunc;
else window.onunload = myFunc;


Javascript libraries are much better to detect and handle different browser behaviour. Just let a mature library like jQuery handle this and you'll be fine.

0

精彩评论

暂无评论...
验证码 换一张
取 消