다 귀찮고... > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

다 귀찮고... 정보

다 귀찮고...

본문

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개

간단하게 인라인으로 넣어줄 때는 유용하겠지만, 대규모 사이트에서는 캐싱이 안돼 치명적일 수 있습니다. 캐싱을 시키려면 link 로 삽입해야 하는데 그렇게 되면 제목의 '다 귀찮고..'에 해당하는 의미가 없죠.
맞습니다.
간단하게 특정 태그로 인한 문제를 해결하고자 하는데 유용합니다.

대형 사이트를 제작한다면 그누보드의 경우 common.php로 사이트 전체를 제어하려면 별도로 코드를 수준에 맞게 작성해서 추가를 해줘야 하겠지요.
그누보드로 그런 대형 사이트를 제작한 사이트가 있습니까?
저는 잘 모르고 있는데 혹 아시면 알려 주십시요.
들러서 좀 살펴보면 많은 도움이 될것 같으네요.

크로스 브라우저, 웹 표준화 작업을 진행해본 경험이 있는 사람은 누구나 경험을 해봤으리라 생각합니다.
특정 태그 하나로 확연하게 다른 결과물이 출력되는걸...
쉬운 예로서 fieldset 태그 하나로도 IE가 FF, 크롬 등의 브라우저와 얼마나 다른 출력 결과가 나오는지 확인이 됩니다.
이럴때 머리 아프게 끙끙 거리지 말고 가볍게 써 보시라 올려 드렸습니다.
전체 22 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT