브라우저의 이름과 버전을 사용자 홈페이지의 <h:outputText/>
에 표시하면됩니다. JSF 2.0을 통해이 문제를 해결할 수 있습니까?JSF 2.0으로 브라우저 이름과 버전을 표시하는 방법은 무엇입니까?
인 Mojarra 2.0.4 - Primefaces 2.2.1- 내가 그 하나의 태그 또는 뭔가 않습니다 더 JSF 구성 요소를 알 수 없기 때문에 멀리있다
브라우저의 이름과 버전을 사용자 홈페이지의 <h:outputText/>
에 표시하면됩니다. JSF 2.0을 통해이 문제를 해결할 수 있습니까?JSF 2.0으로 브라우저 이름과 버전을 표시하는 방법은 무엇입니까?
인 Mojarra 2.0.4 - Primefaces 2.2.1- 내가 그 하나의 태그 또는 뭔가 않습니다 더 JSF 구성 요소를 알 수 없기 때문에 멀리있다
글래스 피쉬 V3. 가장 쉬운 방법은 원시 HTTP User-Agent
헤더를 표시하는 것입니다.
<h:outputText value="#{header['user-agent']}" />
이것은 항상 크고 추악한 문자열로 모든 사람에게 해독 할 수있는 것은 아닙니다.
HTTP User-Agent
헤더를 정확한 브라우저 제조업체/버전 및 플랫폼 제조업체/버전 (예 : useragentstring.com)과 같은 유용한 정보로 변환 할 수있는 API가 있습니다.
API를 사용하여 User-Agent
헤더를 사용 가능한 부분으로 변환 한 후에는 관리 빈을 사용하여 JSF에서 관심있는 부분을 일반적인 방법으로 표시 할 수 있어야합니다.
은 콩에이 방법을 넣어 : 다음
public String getBrowserName() {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String userAgent = externalContext.getRequestHeaderMap().get("User-Agent");
if(userAgent.contains("MSIE")){
return "Internet Explorer";
}
if(userAgent.contains("Firefox")){
return "Firefox";
}
if(userAgent.contains("Chrome")){
return "Chrome";
}
if(userAgent.contains("Opera")){
return "Opera";
}
if(userAgent.contains("Safari")){
return "Safari";
}
return "Unknown";
}
과 :
<h:outputText value="Browser: #{yourBean.browserName}" />
을 인터넷 탐색기 그것은 "알 수없는"를 반환, 그 이유는 무엇입니까? –
@LizLamperouge 당신은 userAgent 변수를 출력하고 다른 "if contains"블록을 추가 할 수 있습니다. –
감사합니다 @ Andrés Canavesi, "userAgent 변수를 인쇄하고"포함하는 경우 "다른 블록을 추가 할 수 있지만 무엇을 사용합니까? –
덕분에 많이 @BalusC – Selvin