93

我正在使用这个 JS 代码来了解用户使用的是什么浏览器。

<script>
  document.write(navigator.appName);
</script>

我想把这个 navigator.appName 转换为 php 代码来使用它:

if ($appName == "Internet Explorer") {
  // blabla
}

我该怎么做?

4

5 回答 5

250

请改用本机 PHP$_SERVER['HTTP_USER_AGENT']变量。

于 2012-04-20T09:48:33.497 回答
5

您还可以使用 php 原生函数get_browser()

重要提示:您应该有一个 browscap.ini 文件。

于 2018-10-27T07:00:20.837 回答
4

如果要将数据从客户端传递到服务器,可以使用 jQuery ajax 方法链接。在这种情况下,您可以使用$_SERVER['HTTP_USER_AGENT']变量来找到浏览器用户代理。

于 2012-04-20T09:51:50.960 回答
1

我用:

<?php
$agent = $_SERVER["HTTP_USER_AGENT"];

if( preg_match('/MSIE (\d+\.\d+);/', $agent) ) {
  echo "You're using Internet Explorer";
} else if (preg_match('/Chrome[\/\s](\d+\.\d+)/', $agent) ) {
  echo "You're using Chrome";
} else if (preg_match('/Edge\/\d+/', $agent) ) {
  echo "You're using Edge";
} else if ( preg_match('/Firefox[\/\s](\d+\.\d+)/', $agent) ) {
  echo "You're using Firefox";
} else if ( preg_match('/OPR[\/\s](\d+\.\d+)/', $agent) ) {
  echo "You're using Opera";
} else if (preg_match('/Safari[\/\s](\d+\.\d+)/', $agent) ) {
  echo "You're using Safari";
}
于 2021-05-07T17:12:41.920 回答
0

PHP 8 有这个特性$_SERVER['HTTP_SEC_CH_UA'] Sec-CH-UA 让你直接检测浏览器名称

if (  strpos ( $_SERVER['HTTP_SEC_CH_UA'],'Opera'   ){
       //        
    }
于 2021-10-13T14:05:41.780 回答