我需要在不同的浏览器(Internet Explorer、Firefox、Chrome、Safari 和 Opera)中显示不同的信息。所以我需要一种方法来检测用户的浏览器。就我而言,最好的方法是什么?
我可以使用 PHP 或 Javascript,但我想避免使用像 jQuery 这样的外部库。
谢谢 :)
我需要在不同的浏览器(Internet Explorer、Firefox、Chrome、Safari 和 Opera)中显示不同的信息。所以我需要一种方法来检测用户的浏览器。就我而言,最好的方法是什么?
我可以使用 PHP 或 Javascript,但我想避免使用像 jQuery 这样的外部库。
谢谢 :)
浏览器检测是一种非常不可靠的做法,应该避免。话虽如此,您通常是通过在 JavaScript 中嗅探 navigator.userAgent
或检查 userAgent (或get_browser()
)来开始的,因为它遇到了对您服务器的请求。
但是,不要这样做 - 请(对于小马)。请改用特征检测。Modernizr之类的工具使您可以非常轻松地仅在受支持时才提供内容,并围绕浏览器之间的差异进行编码。
您可以使用以下内容:
php
$agent = $_SERVER["HTTP_USER_AGENT"];
if (preg_match("/MSIE/i",$agent)) { echo "its ie!"; }
javascript
navigator.appName
navigator.appVersion
你可以结合/交叉检查并开始用你找到的所有东西制作一个大的 if/else 块。
也在这里检查, 但我同意,这不是 100% 可靠的