如何使用PHP确定用户的浏览器?

时间:2010-04-17 12:05:59

标签: php browser browscap

如何使用PHP确定用户的浏览器?

因此,如果用户浏览器是IE,那么变量$ alert =“onbeforeunload”,如果它不是IE,例如Firefox(其他),那么$ alert =“onload。

非常感谢帮助。

由于

另请注意,我无法在PHP服务器上安装browscap.ini。

4 个答案:

答案 0 :(得分:2)

查看此代码是否适合您

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

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

?>

答案 1 :(得分:1)

你做不到。不是100%准确。最好的方法是检查用户代理,但是用户可以免费提供,或者假冒它,所以尽量避免依赖它。

$ua = $_SERVER['HTTP_USER_AGENT'];

如果浏览器是IE,它应该(正好)匹配(其中#是数字)

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

正则表达式就像

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

或者你可以检查字符串“MSIE”,它会更简单,也不会那么严格。

但正如@Michal所说,get_browser manual page

还有其他(更好的)实施方法

答案 2 :(得分:0)

使用$_SERVER['HTTP_USER_AGENT']

检查它是否包含“IE”,后面跟一个数字。

我宁愿在javascript中自己这样做。

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

答案 3 :(得分:0)

Javascript库可以更好地检测和处理不同的浏览器行为。只要让一个像jQuery这样的成熟库来处理这个问题你就可以了。