묻고답하기
layouts에서 IE6 체크하는 것은 영영 불가능한 건가요?
2009.02.19 22:41
IE6 브라우즈 버전 체크하는 것 왜 안 되는가?
layouts.html 첫머리에 아래와 같은 php를 넣었는데 전혀 실행이 안 됩니다.
그런데 건즈님은 어떻게 실행이 될 수 있었는지 참 궁금합니다.
거즈님 뭐가 잘 못인지 좀 봐주시겠습니까?
1.
<?php
include '/home/hosting_users/realjoys/www/html/idBrowser.php';
$browser = idBrowser::detect();
echo $browser['name'];
echo $browser['version'];
if ($browser['name'] == 'msie') {
if ($browser['version'] <= '6') {
echo"<!--%import(\"css/default-ie.css\")-->";
}
else {
echo"<!--%import(\"css/default-ie.css\")-->";
}
}
else {
echo"<!--%import(\"css/default-ie.css\")-->";
}
?>
2. 아래 것은 실행이 안 됩니다. 브라우즈에 아무 것도 안 나타납니다.
error
{@include('/home/hosting_users/realjoys/www/html/idBrowser.php')}
error
{@include('/home/hosting_users/realjoys/www/html/idBrowser.php');}
error
{@include '/home/hosting_users/realjoys/www/html/idBrowser.php'}
3. 이것도 실행이 안 됩니다. browser 값도 나타나지 않습니다.
<!--#include('/home/hosting_users/realjoys/www/html/idBrowser.php')-->
{@ $browser = idBrowser::detect() }
{ $browser['name'+
'+
'] }
{ $browser['version'] }
<!--@if($browser['name'] == 'msie')-->
<!--@if($browser['version'] <= 6)-->
<!--%import("css/default-ie.css")-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
4. 아래 것도 마찬가지로 뭘 실행하는지 통 알 수가 없습니다.
<!--사용된 브라우저와 버전, 플랫폼 확인 -->
{@$userAgent = strtolower($_SERVER['HTTP_USER_AGENT'])}
<!--브라우저 종류 확인 -->
<!--@if(preg_match('/opera/', $userAgent))-->
{@$name = 'opera'}
<!--@elseif(preg_match('/webkit/', $userAgent))-->
{@$name = 'safari'}
<!--@elseif(preg_match('/msie/', $userAgent))-->
{@$name = 'msie'}
<!--@elseif(preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent))-->
{@$name = 'mozilla'}
<!--@else-->
{@$name = 'unrecognized'}
<!--@end-->
<!--버전 확인 -->
<!--@if(preg_match('/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches))-->
{@$version = $matches[1]}
<!--@else-->
{@$version = 'unknown'}
<!--@end-->
<!--플랫폼 -->
<!--@if(preg_match('/linux/', $userAgent))-->
{@$platform = 'linux'}
<!--@elseif(preg_match('/macintosh|mac os x/', $userAgent))-->
{@$platform = 'mac'}
<!--@elseif(preg_match('/windows|win32/', $userAgent))-->
{@$platform = 'windows'}
<!--@else-->
{@$platform = 'unrecognized'}
<!--@end-->
<!--@if($name == 'msie')-->
<!--@if($version <= 6)-->
<!--%import("css/default-ie.css")-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
빨간색 임포트를 실행하는 것을 보면
위 if 문 조건 전체를 인식하지 못하는 것 같습니다.
이거 가지고 어제 오늘 씨름을 합니다.
어떤 분은 layouts.html 에서 php도 실행 된다고 하는데
way 나는 안 되는가???
누가 좀 도와 주세요.
댓글 3
-
ㅁㅁ
2009.02.20 00:44
조금만 더 신경쓰면 하나의 CSS파일에서 해결될꺼같은데요.. -
구분하려는 이유가 뭔가요?? 이유를 안다면 다른방법을 알려드릴수도 있을텐데.. js파일을 이용해서 구분한 곳은 본적이 있습니다.
-
건즈
2009.02.20 02:56
알려드렸던 코드는 브라우저의 종류를 인식하는 데 있어서 잘 작동하며, msie 이외의 브라우저에 대해서는 버전도 올바르게 인식합니다.
그런데, msie의 경우에 대해서는 현재로선 버전을 제대로 인식하지 못하는군요.
어제 시험하고 결과물을 올려드릴 때에는 msie를 7.0으로 정상적으로 인식하였지만, 현재는 6.0으로 인식하고 있습니다. msie 8도 6.0으로 인식하는군요. 그 이유는 잘 모르겠습니다.
하지만 레이아웃에 넣어서 출력하는 건 지난 번 댓글에서 알려드린 대로 잘됩니다.
버전 표시만 6.0으로 잘못 출력할 뿐이구요.
브라우저 검출 결과는 사용자의 브라우저 및 컴퓨터 환경에 따라 많이 달라지는 것 같습니다.
보다 많은 변수를 고려할수록 코드도 복잡해지는 것 같습니다.
조금 전에 어느 싸이트에서 본 코드는 현재 잘 작동합니다.
파일 두개를 올려드릴텐데, 두 파일을 웹싸이트의 같은 폴더에 넣고 시험해보시기 바랍니다.
browser_detection.php는 함수를 포함하며, detect.php는 호출을 합니다.
시험하실 때에는 detect.php를 웹싸이트에서 실행하시기 바랍니다.
msie가 아닌 브라우저는 msie 아님이라고 출력하며, msie인 경우에는 버전까지 출력하도록 하였습니다. 버전 6.0, 7.0, 8.0을 잘 인식합니다.
출처는 http://techpatterns.com/downloads/php-browser-detection-basic.php 입니다.
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
황금소 | 질문좀 할께요.. 도와주세요ㅠㅠ [1] | 2009.02.20 by 닝기리쓰레빠 |
옥샘 | 제로보드의 포인트로 게임할수 있게 만드는법... [1] | 2009.02.20 by 닝기리쓰레빠 |
꼼지825 | xe게시판이요~ [1] | 2009.02.20 by 닝기리쓰레빠 |
워나트 | 상단메뉴와 왼쪽하단에 있는 메뉴의 글자들만 변경할 수는 없습니까? [5] | 2009.02.20 by 워나트 |
jjaya | 레이아웃 구분 [1] | 2009.02.20 by 닝기리쓰레빠 |
한마디 | layouts에서 IE6 체크하는 것은 영영 불가능한 건가요? [3] | 2009.02.20 by 건즈 |
콩콩마리 | 가상 사이트 만들기 관련 [1] | 2009.02.20 by 닝기리쓰레빠 |
서예준284 | 버전업에 대한 질문입니다. [1] | 2009.02.20 by 닝기리쓰레빠 |
kesil05 | 페이지 수정 시 [3] | 2009.02.20 by kesil05 |
yujin. | RSS 출력에 문제가 있는데요. [3] | 2009.02.20 by 닝기리쓰레빠 |
miso777 |
글자색 변경좀 도와주세요
[4]
![]() | 2009.02.20 by miso777 |
철이베베 | 포인트 시스템에서요.. [8] | 2009.02.20 by 닝기리쓰레빠 |
철이베베 | 게시판에서 전체글보기 기능은 없을까요; [1] | 2009.02.20 by 우~후훗 |
질문 | 로그인창 폼 크기 조절 [4] | 2009.02.20 by 질문 |
질문 | 로그인창 폼 크기 다시 질문입니다. [1] | 2009.02.20 by 닝기리쓰레빠 |
pionavy | 게시판에 음악파일 설치 [1] | 2009.02.20 by 닝기리쓰레빠 |
박현진779 |
게시물 이동이요~~
[1]
![]() | 2009.02.20 by 닝기리쓰레빠 |
꼬양아멍멍 | 이미 존재하는 모듈이있습니다 [4] | 2009.02.20 by 어린왕자353 |
갤로그 | 게시글이나 댓글이 올라오면,메일로 내용을 발송 되게 | |
으라차차 | 팝업창중에 익스플로러창말고 색이있는 창...그 머지...ㅠㅠ |