2012-11-11 8 views
3

저는 개발중인 WordPress 테마에서 IE에 대한 수표를 설정하고 있습니다. 나는 인터넷 익스플로러 7을 확인하고 싶었다 그래서 나는 다음과 같은 코드를 사용하는 경우 :PHP가있는 IE를 확인하는 것이 좋지 않습니까?

<?php 
if (preg_match('/\bmsie 7/i', $ua) && !preg_match('/\bopera/i', $ua)) 
echo 'Do Something' 
?> 

대신 :

<!--[if lt IE 7]> 
Do Something 
<![endif]--> 

그것을 어떤 단점이 있나요? HTML이 필요할 때만로드하려고합니다. 모든 통찰력이 인정됩니다.

편집

찾을 그것에게 PHP 방법 일에이 정말 좋은 기사 : http://www.kingofdevelopers.com/php-classes/get-browser-name-version.php

답변

2

가능 브라우저를 많이 커버 플랫폼, 엔진 및 버전을 감지 시도하고 나 코드를 기반으로하자를 예를 들어 엔진 게코는 firefox, seamonkey 및 모든 도마뱀 기반 브라우저를 포함합니다. PHP에서

은 모두 잘되는

$browser = get_browser(null, true); 
print_r($browser); 
+0

get_browser()는 브라우저 기능 프로젝트의 일부인 browscap.ini를 사용합니다. 현재 불행히도 현재 닫혀 있습니다. 프로젝트가 다시 열릴 때까지이 기능을 사용하지 않는 것이 가장 좋습니다. –

+0

@cryptic [link] [here] (http://php.net/manual/en/function.get-browser.php) 아무런 경고가 없습니다. –

+0

https://groups.google.com/forum/# ! topic/browscap/Yy3Djd1Mqvk http://browsers.garykeith.com/ https://github.com/GaretJax/phpbrowscap/issues/24 –

1

사용합니다. 두 번째 방법은 클라이언트 측입니다. SVG 특정 요소, IE 특정 스타일 시트 등을 비롯한 몇 가지 공통적 인 활동을 사용하는 경우 이점이 있습니다. 서버 측 처리가 줄어 듭니다.

0

저는 user1759084에 동의 할 것입니다. 둘 다 "옳다"지만, 얼마나 많은 HTML을 제공 하느냐에 달려 있다고 덧붙일 것입니다. 상당히 많은 양이라면 서버 (php check)를 점검하는 것이 더 좋으며, 몇 줄이면 클라이언트가 결정하도록하는 것이 더 좋습니다 (HTML 조건부). 당신은 정말로 브라우저 감지 대신에 기능 감지를 사용해야합니다. 그러나 그저 작동하지 않는 경우가 있습니다.

관련 문제