2007年10月8日月曜日

ZK: ブラウザを判別

WEBサイトにアクセスしてきたブラウザの種類は
Executions.getCurrent().[isGecko(),isExplore(),isExplore7(),isSafari()]
を使用して判別し、HTTPリクエストのユーザエージェント情報がそのまま欲しいときは
HttpServletRequest)Executions.getCurrent().getNativeRequest()).getHeader("User-Agent")
を使用して取得する。


<window title="Client User Agent" border="normal" width="360px">
<zscript>
import javax.servlet.http.HttpServletRequest;
void dispClientAgent(){
String agentInfo = ((HttpServletRequest)Executions.getCurrent().
getNativeRequest()).getHeader("User-Agent");
userAgent.value = agentInfo;
}
</zscript>
<vbox>
<label value="Hello ZK!!" id="userAgent"/>
<button label="ユーザエージェント情報を表示" onClick="dispClientAgent()"/>
</vbox>
<zscript>
if (Executions.getCurrent().isGecko()){
userAgent.value = "Firefoxでアクセス";
}else if (Executions.getCurrent().isExplorer()){
userAgent.value = "Explorerでアクセス";
}else if (Executions.getCurrent().isExplorer7()){
userAgent.value = "Explorer 7でアクセス";
}else if (Executions.getCurrent().isSafari()){
userAgent.value = "Safariでアクセス";
}else {
userAgent.value = ".....";
}
</zscript>
</window>

0 件のコメント: