Wicket の、getClientInfo()
と
Example で
参考
Getting Browser Information - Apache Wicket - Apache Software Foundation
Browser Info
Browser 情報を取得する Example クラス Ajax Browser Info
Ajax でBrowser 情報を 取得する Example クラス
前提
Wicket の
<!-- WICKET DEPENDENCIES --> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-core</artifactId> <version>7.8.0</version> </dependency>
デフォルトで 取得できる Browser 情報に ついて
Page クラスのonInitialize()
で
Page クラスの
実装抜粋 Chrome でWebClientInfo w = WebSession.get().getClientInfo(); ClientProperties cp = w.getProperties(); System.out.println("#############################################################"); System.out.println(cp.toString()); System.out.println("###########");
アクセスすると 以下が 標準出力されます。
Browser が何であるか、 browser version 等の 基本情報が 出力されます。 コンソール出力
############################################################# browserInternetExplorer=false browserKonqueror=false browserMozilla=false browserMozillaFirefox=false browserOpera=false browserSafari=false browserChrome=true browserEdge=false browserVersionMajor=61 browserVersionMinor=0 navigatorCookieEnabled=false navigatorJavaEnabled=false remoteAddress=127.0.0.1 javaScriptEnabled=false ###########
拡張属性取得を ONに する
Application クラス内で、RequestCycleSettings()#setGatherExtendedBrowserInfo()
にtrue
を
これで
Applicationクラス内の
記述の 抜粋 // Browserの拡張属性を取得する getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
Page クラスの
実装
Pageクラスの実装は、 通常の 取得方法と 同様です。
特に変わりは ありません。
この状態だと、BrowserInfoPage
に
以下、
- BrowserInfoPage
こちらは、
Browser Info
BrowserInfoPageから
Exampleの
こちら
何か
############################################################# browserInternetExplorer=false browserKonqueror=false browserMozilla=false browserMozillaFirefox=false browserOpera=false browserSafari=false browserChrome=true browserEdge=false browserVersionMajor=61 browserVersionMinor=0 navigatorCookieEnabled=false navigatorJavaEnabled=false remoteAddress=127.0.0.1 javaScriptEnabled=false ###########
BrowserInfoPage を 介さないで、 Browserの 拡張属性情報を 取得する
Ajax Browser Info 内で
AjaxClientInfoBehavior.java
がPage#onInitialize()
の
From の
Page クラスのonInitialize()
で
- Page クラスの
実装抜粋 add(new AjaxClientInfoBehavior());
Button のonSubmit()
で
- Buttonの
onSubmit()タグに 以下のように 記述します。 @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { ................. WebClientInfo w = WebSession.get().getClientInfo(); ClientProperties cp = w.getProperties(); System.out.println("#############################################################"); System.out.println(cp.toString()); System.out.println("###########"); ................. }
実行後に、
こちらは
############################################################# browserHeight=691 browserInternetExplorer=false browserKonqueror=false browserMozilla=false browserMozillaFirefox=false browserOpera=false browserSafari=false browserChrome=true browserEdge=false browserVersionMajor=61 browserVersionMinor=0 browserWidth=1245 navigatorCookieEnabled=true navigatorJavaEnabled=false navigatorAppCodeName=Mozilla navigatorAppName=Netscape navigatorAppVersion=5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36 navigatorLanguage=ja navigatorPlatform=MacIntel navigatorUserAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36 remoteAddress=127.0.0.1 screenColorDepth=24 screenHeight=900 screenWidth=1440 utcDSTOffset=9 utcOffset=9 hostname=127.0.0.1 javaScriptEnabled=false ###########
どのように 拡張属性を 取得しているか?
AjaxClientInfoBehavior.java
等は、
デスクトップアプリのような
windowsize で、
以上です。
コメント