我有一个PHP页面,在IE 6和7中会崩溃,因此我希望用户不要使用IE。他们肯定会忽略警告和提示。所以作为解决方案,如果请求来自IE,我可以停止呈现页面并显示一行文本,表示不支持IE吗?
我对php很陌生,所以问这个问题。IE太烂了!
我有一个PHP页面,在IE 6和7中会崩溃,因此我希望用户不要使用IE。他们肯定会忽略警告和提示。所以作为解决方案,如果请求来自IE,我可以停止呈现页面并显示一行文本,表示不支持IE吗?
我对php很陌生,所以问这个问题。IE太烂了!
使用用户代理检查:
if(stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) {
echo 'IE6'
};
if(stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0')) {
echo 'IE7';
};
$usingIE6 = (strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 6.' ) !== FALSE);
if ($usingIE6) {
echo 'Please upgrade your browser';
exit;
}
使用统计数据在这里,IE 6的市场份额为7%:http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2&qpcustomd=0
可以的:
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
这只是一个代码片段,我知道IE不是最好的浏览器,但是一个好的程序员应该考虑到所有的浏览器,并且在所有浏览器上都能正确运行... 这是Web开发中实际的难点。
你可以从超全局变量 $_SERVER 中测试 HTTP_USER_AGENT;
但是如果你需要其他更多的信息并且愿意使用一个额外的文件,你可以考虑另一种选择get_browser,它依赖于browscap,这更适合在某些时候需要获取有关访问者的其他详细信息时使用。
PHP有一个名为get_browser的函数,将返回您所需的所有版本信息。
您还可以使用IE能够解密的条件注释:
<!--[if lt IE 8]>Your browser is too old for this app. Please upgrade.<![endif]-->