Ben*_*Ben 2 jsf internet-explorer jsf-2
我有一个Web应用程序,如果浏览器是Internet Explorer,我有一些不应该呈现的组件.
我可以在技术上使用jquery,但我认为这是不好的,因为它是客户端代码,并且渲染的属性是在服务器上计算的.
我怎样才能做到这一点?
您可以检查User-Agent标头是否包含字符串MSIE.以下是所有"有效"MSIE标题字符串的概述:http://www.useragentstring.com/pages/Internet%20Explorer/ 您将看到所有MSIE字符串共享相同的模式"; MSIE ".你可以查看:
<h:someComponent rendered="#{!header['User-Agent'].contains('; MSIE ')}">
Run Code Online (Sandbox Code Playgroud)
或者当您还没有使用Servlet 3.0/EL 2.2时:
<h:someComponent rendered="#{!fn:contains(header['User-Agent'], '; MSIE ')}">
Run Code Online (Sandbox Code Playgroud)
但是,您需要知道这是一个客户端控制的值,可以轻松更改/欺骗.使用例如条件注释在客户端进行检查更加可靠,因为MSIE实际上是解释它们的唯一浏览器.
| 归档时间: |
|
| 查看次数: |
3173 次 |
| 最近记录: |