0

我需要一个 servlet 代码,它会返回客户端浏览器的类型并检测其上是否安装了 PDF 查看器插件。

我试过使用HttpServletRequest的可用.getHeader("User-Agent"),如下所示:

String userAgent = request.getHeader("user-agent");

但它只返回以下浏览器类型,没有插件:

“Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;.NET CLR 2.0.50727;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729;.NET CLR 1.1.4322;InfoPath.2) "

有什么方法可以检测到 servlet 中的 PDF 查看器插件?

任何答案将不胜感激。非常感谢!

4

1 回答 1

0

您不能在 servlet 中执行此操作,并且肯定不是基于用户代理。您最好的选择是使用在网络浏览器本身中运行的语言(例如 JavaScript)执行检测。周围有几种 JavaScript 解决方案,例如,请参阅此问题javascript detect adobe reader plugin for browser的评论和答案。

要将这些信息从 JavaScript 传递到 Servlet,您可以通过 ajax 或操作表单中的隐藏字段来传递请求参数,或者设置一个 cookie,然后在 servlet 中检查它。请求参数和 cookie 可通过常用HttpServletRequest方法获得。

于 2012-06-19T04:17:47.770 回答