如何使用PHP确定用户的浏览器?
因此,如果用户浏览器是IE,那么变量$ alert =“onbeforeunload”,如果它不是IE,例如Firefox(其他),那么$ alert =“onload。
非常感谢帮助。
由于
另请注意,我无法在PHP服务器上安装browscap.ini。
答案 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这样的成熟库来处理这个问题你就可以了。