2010-04-22 3 views
2

다른 브라우저에서 웹 페이지의 내용을 다른 형식으로 표시하려고합니다. 구현 방법은 무엇입니까?다른 브라우저에서 웹 페이지 디스플레이를 다르게 만드는 방법은 무엇입니까?

편집 : 추가 정보

이 뒤에 동기는 다른 모바일 기기의 콘텐츠를 표시하는 것입니다. 예를 들어 는 : 아이폰은 사파리 브라우저가 완벽하게 아이폰의 화면에 맞도록 내가 내용을 조정합니다 내가 글꼴 크기 등을

을 변경할 수 있습니다 사용하는 경우 그래서 다른 브라우저가 다음을 사용하는 경우 사파리 를 사용하여 I 형식이 적절하게 변경됩니다.

+0

다른 브라우저는 모바일 장치에서 화면의 더 적은/더 많은 것을 사용합니까? 컴퓨터 디스플레이와 다른 점은 무엇입니까? – Rob

+0

정보를보기 위해 옆으로 스크롤을 제거해야합니다. 우리는 화면에서 볼 수있는 정보를 최대화해야합니다. –

답변

1

HTTP 요청과 함께 전송되는 사용자 에이전트 헤더의 내용을 확인하십시오. 페이지를 표시하기 위해 사용하는 것에 대해 더 자세히 설명 할 때까지는 더 이상 구체적으로 지정할 수 없지만 사용자 에이전트 헤더를 알려진 브라우저와 비교 한 다음 해당 테스트를 기반으로 다른 콘텐츠를 제공해야합니다.

+0

헤더가 브라우저의 신뢰할 수있는 표시기가 아니라는 점을 제외하고는. – Rob

+2

@Rob, 브라우저의 신뢰할 수있는 표시기가 없습니다. 브라우저는 원하는대로 위장 할 수 있습니다. 빌어 먹을, 브라우저는 터미널에서 타이핑하는 사람 일 수 있습니다. 사용자 에이전트는 단순히 자체 선언의 표준 방법입니다. – tloflin

+0

@tioflin - 음. 그게 내가 방금 말한거야. – Rob

1
<?php 
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')) { 
     // is iPhone 
    } 
?> 
+0

그리고 그는 어디에서 아이폰을 언급 했습니까? – Josh

+0

@Josh 그냥 예제로 사용했습니다. –

+0

그리고 그의 수정 된 질문에 근거하여 당신은 옳은 것처럼 보입니다! 그는 PHP를 언급하지 않았습니다. – Josh

0

다른 HTTP 헤더에서 반응하는 것 외에도 일부 CSS 트릭을 사용하여 적어도 IE와 IE 이외의 브라우저와 다른 IE 버전을 구분할 수 있습니다. 물론 또 다른 방법이 있습니다. JavaScript 코드에서 감지 된 브라우저에 따라 페이지의 특정 부분을 표시하거나 숨기려면 일부 JavaScript 코드를 사용하십시오.

일반적으로 모든 브라우저 특정 항목을 피하고 가장 중요한 브라우저에서 잘 렌더링되는 방식으로 페이지를 작성하고 이전 브라우저와 고대 브라우저에서 적절하게 성능이 저하됩니다.

결국 user-agent으로 전환하기로 결정했다면 합당한 기본값으로 되돌아 가야합니다. 어떤 웹 사이트가 브라우저 A 또는 비슷한 바보 같은 것을 알지 못하기 때문에 브라우저 A를 브라우저 B로 가장 할 필요가있는 것보다 더 귀찮은 것은 없습니다.

0

많은 사용자 에이전트가 프로그래머가 유도 한 제한을 지나치는 다른 사람을 모방하려하기 때문에 찾아보기가 어렵습니다. 모바일 친화적 인 스타일 시트를 만들려는 경우 LINK 태그의 'media'속성을 사용하면 특정 기기를 타겟팅 할 수 있습니다. 즉

첫 번째 스타일 시트는 모든 미디어 유형에 적용되며 두 번째 스타일 시트는 '휴대 기기'에만 적용됩니다.

만 IE를 대상으로 할 수있는 방법을 찾고 있다면, 체크 아웃 조건부 댓글 : http://www.quirksmode.org/css/condcom.html

Aaaand 아이폰의 뷰포트를 제어하는 ​​방법에 대한 좀 더 자세한 내용은 애플에서이 문서를 체크 아웃 : http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

관련 문제