![]() |
1
2
|
![]() |
2
3
这个可以和
在你的情况下,我建议:
|
![]() |
3
3
首先,你为什么要这样做?火狐(在您的示例中)与Chrome、Opera、Safari、IE等的工作方式有什么不同,您需要专门检查它?那么不同版本的浏览器呢(火狐2仍然是火狐,但与当前版本非常不同)? 不管怎样,如果您确实需要这样做,那么正如其他人所说,正式的确定方法是查看用户代理字符串:
PHP还提供
function called
但是,请记住,最终用户可以在其浏览器配置中更改用户代理字符串。它被广泛使用,尤其是在站点试图阻塞特定浏览器的情况下。 因此,无论您从用户代理字符串中得到什么信息,您永远无法确定它是否准确。它可能是火狐假装为IE或Chrome,假装为火狐或任何其他组合。 它们甚至可以完全阻止用户代理字符串(我知道至少有一个Web安全产品在默认情况下可以这样做,而用户甚至不知道)。 还有比你想象的更多的浏览器。除了少数几个著名的引擎外,大多数其他引擎都使用来自主要引擎的渲染引擎。例如,Flock和Icewasel使用火狐引擎,因此它们的页面工作方式与火狐完全相同,但在用户代理字符串中它们可能不会显示为火狐。还有许多浏览器以类似的方式使用IE渲染引擎。 因此,简短的答案是读取用户代理字符串,但较长的答案并不依赖于它的准确性。 |