有没有办法使用PHP来检测是否使用IE6加载页面?
尝试检查他们的用户代理'MSIE 6.'
.
$using_ie6 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE);
这基于此用户代理信息.
你可以用这种方式用HTML检测IE6
这是一个关于如何在PHP Way Back Machine中完成的链接,但我在解析$_SERVER["HTTP_USER_AGENT"]
IE6时遇到了很多误报
此页面上的许多基于用户代理的答案都不太可靠,因为Opera通常使用包含"MSIE 6.0"的用户代理字符串来标识自己,例如:
Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 9.51
这会影响Opera 5到9甚至Opera 10的所有版本,并且可以在Opera中打开或关闭. 看到这个页面.
我见过的常见方法是测试"MSIE"和"Opera".例如,
if (preg_match('/\bmsie 6/i', $ua) && !preg_match('/\bopera/i', $ua)) echo "We have IE6!";
PHLAK ......
我觉得这个好多了:P
if(preg_match('/msie [2-6]/i',$_SERVER['HTTP_USER_AGENT'])) { // if IE<=6 } else { //if IE>6 }
您可以将get_browser与更新的browscap.ini文件一起使用.
像其他人一样说,有将误报的只是检查用户代理...那么,为什么不使用这两种,用户代理检查和条件注释.
例如...
if (preg_match('/\bmsie 6/i', $_SERVER['HTTP_USER_AGENT']) { ?> } ?>
这样您就不会将这些不必要的代码发送回大多数浏览器......但是如果出现误报,仍然是安全的.