다 귀찮고... 정보
다 귀찮고...본문
function check_browser($str) {
$ptn_browser = strtolower($str);
$match_browser = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/$ptn_browser/i", $match_browser)) {
$result = TRUE;
} else {
$result = FALSE;
}
return $result;
}
# Array()로 만들어도 괜찮을듯 하고...
# Exemple => MSIE, Sapari, AppleWebKit, Chrome, ChromePlus, Firefox, Gecko, Opera etc...
function error_browser($str, $url) {
if(check_browser($str) == FALSE) {
$source = strtoupper($str);
$msg = alert("$source 브라우저를 지원하지 않습니다.", "$url");
}
return $msg;
}
function code_browser($str, $code_t, $code_f) {
if(check_browser($str) == TRUE) {
$result = $code_t;
} else {
$result = $code_f;
}
return $result ."\n";
}
<!DOCTYPE html>
설정으로 웹 표준으로 한동안 프로그램을 만들다가
브라우저간 호환성 문제로 골머리를 썩다가 쉽게 가는게 장땡이다 싶어서 만들었던 함수입니다.
IE 관련 CSS Hack도 버전별로 상당히 많은데 솔직히 저의 경우는 짜증이 심하게 나더군요.
편법이랄수 있는데 특정 브라우저에서 기대했던 결과가 상이하게 나타날 경우 아예 코드를 달리 출력해주는게 속편하다 보여져 작성했던 함수입니다.
예1 ] 특정 브라우저를 아예 지원하지 않고자 할 때.
error_browser('MSIE', $g4[path]);
예2 ] 특정 브라우저의 코드를 달리 출력하게 해줘야 할 때.
<style type="text/css">
#Ext {
line-height: 32px;
border: 1px solid #555;
<?=code_browser('MSIE', 'padding: 0px 10px 0px 10px;', 'padding: 8px 10px 8px 10px;');?>
}
</style>
<div id="Ext">MBC 글로리아 재밌어!</div>
제 편한데로 지지고 뽁고 그러는 코드라 도움이 될지 모르겠습니다.
2
댓글 4개
별로 도움이 되지는 않을듯 합니다.
^^;
간단하게 특정 태그로 인한 문제를 해결하고자 하는데 유용합니다.
대형 사이트를 제작한다면 그누보드의 경우 common.php로 사이트 전체를 제어하려면 별도로 코드를 수준에 맞게 작성해서 추가를 해줘야 하겠지요.
그누보드로 그런 대형 사이트를 제작한 사이트가 있습니까?
저는 잘 모르고 있는데 혹 아시면 알려 주십시요.
들러서 좀 살펴보면 많은 도움이 될것 같으네요.
크로스 브라우저, 웹 표준화 작업을 진행해본 경험이 있는 사람은 누구나 경험을 해봤으리라 생각합니다.
특정 태그 하나로 확연하게 다른 결과물이 출력되는걸...
쉬운 예로서 fieldset 태그 하나로도 IE가 FF, 크롬 등의 브라우저와 얼마나 다른 출력 결과가 나오는지 확인이 됩니다.
이럴때 머리 아프게 끙끙 거리지 말고 가볍게 써 보시라 올려 드렸습니다.