Ger*_*hof 5 browser browser-detection vaadin
我想根据用户代理为我的Vaadin应用程序设置不同的主题.特别是我想至少区分移动设备(iPhone,Android,...)和桌面网络浏览器.
Vaadin的API揭示了两个有趣的类:
BrowserInfo似乎完全按照我的需要完成工作,但是通过其get方法实现了失败:
SEVERE: javax.servlet.ServletException: ...
Caused by: java.lang.UnsatisfiedLinkError: com.vaadin.terminal.gwt.client.BrowserInfo.getBrowserString()Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)
无法找到WebBrowser从我的应用程序中访问的方法.
BrowserInfo失败?Ger*_*hof 10
正如@quickanalysis指出的那样,您必须意识到客户端/服务器端组件的分离.
要在服务器端获取用户代理字符串,以下代码片段可以完成以下任务:
ApplicationContext context = this.getContext();
if (context instanceof WebApplicationContext) {
String userAgent = ((WebApplicationContext)this.getContext()).
getBrowser().getBrowserApplication();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6067 次 |
| 最近记录: |