2013-12-13 5 views
0

브라우저의 클라이언트 버전을 가져와야합니다.추가 구성없이 IE11의 사용을 감지하십시오.

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false) { 
    $browser = "Firefox"; 
} else if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { 
    $browser = "IE"; 
} else if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false) { 
    $browser = "Chrome"; 
} 

내가 여기 큰 검색을하게하고 get_browser 기능을 발견했다, 그러나 그것은 할 몇 가지 CONFIGS 파일이 필요하지 않습니다 : 내가 사용 된 코드입니다. 그리고 나는 모든 사용자에게 그렇게하지 않을 것입니다. 누구든지 나를 도울 수 있니? 브라우저 정보를 얻기 위해 사용할 수있는 것이 있습니까? 감사합니다

+1

당신이 봤어 도움이 될 [사용자 - 기여 기능 (http://php.net/manual/en/function.get-browser.php#101125) ['get_browser()'doc (http://php.net/manual/en/function.get-browser.php) 페이지에서 가장 많이 upvoted? – Vulcan

+0

또한'get_browser()'페이지는 최신'browscap.ini' 파일의 위치를 ​​언급하고 있습니다 : http://tempdownloads.browserscap.com/ – Vulcan

+1

브라우저를 사용하지만 MS가 IE11의 UA 문자열을 변경 한 이유는 탐지 스크립트를 중단하기 때문입니다. 대부분의 브라우저 검색은 사이트가 각기 다른 기능으로 인해 각 브라우저마다 다른 출력을 제공하기를 원하기 때문에 수행되었습니다. MS는 사이트가 IE를 탐지하고 IE11이 실제로 지원하는 기능을 제거하지 않기를 원하지 않습니다. 이 패턴은 웹 브라우저의 역사를 통해 여러 번 반복되었습니다. 그 증거로 평균 UA 문자열을보십시오. 이는 일반적으로 기능 감지가 더 나은 솔루션 인 이유를 보여줍니다. – Spudley

답변

1

그 코드 사용

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false) { 
     // your code 
    } 

Source

+0

모든 사용자 에이전트 문자열을 포함하지는 않습니다. 일치하지 않는 항목이 하나 있습니다. Gecko와 같은 Mozilla/5.0 (Windows NT 6.3, WOW64, Trident/7.0, MAPBJS, rv : 11.0) – Joel

3

오히려 사용자가 쉽게 위조 할 수 있습니다 브라우저 감지를 사용하는 것보다, 왜 대신 http://modernizr.com 등 libary 기능 감지를 사용하지 않는를하는 사용자 에이전트가 아닌 브라우저 기능을 감지합니다.

당신이이 글 PHP code to get Browser Information을 읽고이 코드

$useragent = $_SERVER["HTTP_USER_AGENT"]; 
if (strpos($useragent, 'Trident/7.0; rv:11.0') != -1) { 
     // IE11 
    } 
0

를 사용할 수있는 사용자 에이전트를 사용하여 IE11을 감지하기 위해, 나는 이것이 당신이 원하는 무엇을 생각합니다.

희망이 당신

감사

+0

이론적으로이 질문에 답할 수는 있지만 (http://meta.stackexchange.com/q/ 8259) 여기에 답의 핵심 부분을 포함하고 참조 용 링크를 제공하십시오. –

관련 문제