문제
이것은 어리석은 질문처럼 들리지만 (나에게), 나는 검색했고 그것에 대해 이야기하는 것처럼 보이는 곳을 찾을 수 없습니다. 에이전트 세트의 미디어 유형은 어디에 있습니까? 브라우저 (또는 무엇이든)에 의해 하드 코딩됩니까? 또는이 구성 가능 (구체적으로)입니까?
나는 일반적인 PC에서 주로 사용할 웹 앱을 작성하고 있기 때문에 묻습니다. 그러나 그것을 사용하는 넷북도 있습니다. 그러나이 넷북은 XP를 실행하고 일반적인 Windows 브라우저로 감지되는 것처럼 보이지만 특정 페이지의 경우 다른 CSS (주로 더 큰 글꼴 유형)를 사용하기를 원하므로 핸드 헬드로 설정하기를 바랐습니다. 다른 페이지를 위해 내 CSS에서 장치를 눌렀습니다 (사용자가 일반 PC에서 로그온하므로 사용자별로 유형을 감지하는 것은 옵션이 아닙니다).
아니면 더 나은/더 정확한 방법이 있습니까?
해결책 4
나는 ASP.NET에서 일하고 있는데, CSS Zoomable을 옵션이 아닌 것입니다. 대부분의 화면은 잘 어울릴 것입니다. 그러나 한 화면의 경우 넷북에서 레이아웃이 달라야 하므로이 경우에는 레이아웃이 달라야합니다. 사용자는 한 페이지를 위해 확대 한 다음 다른 페이지를 위해 다시 확대해야하며, 분명히 좋은 솔루션이 아닙니다 (그리고 실제 CSS는 줌 레벨이 아니라 특정 요소의 글꼴 만 예를 들어 확대). 문제는 클라이언트가 "일반적인"Windows 클라이언트 -Mozilla/4.0 (호환 가능; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR로 간주됩니다. 3.0. 고객은 스스로를 제시합니다. 가장 쉬운 (이론적으로)이를 수행하는 방법은 다른 미디어 유형으로 구성하여 서버 측 작업이 필요하지 않은 올바른 CSS를 자동으로로드하지만이 작업을 수행하는 방법을 아는 것입니다.
다시 말하지만, 이론적으로, 이것이 불가능하다면 매우 놀랄 것입니다. 그렇지 않으면 실제 장치를 사용할 수 있거나 손을 잡을 수 없다면 다른 미디어 유형을 악몽으로 제대로 테스트 할 수 있지만 온라인으로 보이는 것은 사실입니다 (그렇습니다). 확실히 누구 지원하는 미디어 유형을 설정할 수있는 브라우저에 옵션을 넣었을 것입니다.
다른 팁
가장 간단한 방법은 JavaScript를 사용하여 사용자의 화면 해상도를 감지하는 것입니다. screen.width
그리고 screen.height
. 너무 작다면 대신 모바일 스타일 시트를 사용하는 것과 같은 적절한 조치를 취하십시오. 사람이 사용하는 정확한 장치를 감지하는 방법은 없습니다.
일반적으로 사용자 에이전트를 기반으로 페이지를 제공하는 것은 웹 애플리케이션 웹 서버에서 처리하거나 일부 JavaScript에서는 처리됩니다. 사용중인 언어/프레임 워크를 나열하면 더 많은 도움이 올 수 있습니다.
클라이언트에서 사용자 에이전트 화면을 변경하는 것은 일반적으로 좋은 생각이 아닙니다. CSS를 확장 가능하게 설계하고 확대 / 축소를 허용하십시오.
HTTP 헤더의 "사용자 에이전트"는 브라우저가 웹 서버에게 어떤 유형의 브라우저인지를 알려주는 방법입니다. 운영 체제 및 버전도 포함 할 수 있습니다. 대부분의 일반적인 조건에서 이러한 값은 올바른 표시입니다. 이 정보를 사용하여 서버 측의 브라우저 (IE Mobile Device, IE6 등)에 적합한 적절한 HTML/CSS를 이용할 수 있습니다.
일부 프레임 워크 (예 : ASP.net)에는 HTML 출력을 "적응"하기위한 일부 형태의 브라우저 가능 기능이 있습니다 (그러나 확신하지는 않습니다).
그렇지 않으면 더 좋은 방법을 생각할 수 없습니다. 화면 크기 감지의 경우 JavaScript 감지가 잘 작동하지만 AJAX 방식으로 출력을 렌더링 할 수있는 구현 형태가 없다면 레이아웃 및 글꼴 크기 측면에서는 많은 부분을 제공하지 않습니다. 꽤 복잡 할 수 있습니다.
여기에 답이 많지 않고 더 많은 아이디어를 촉진 할 수 있기를 바랍니다.
낡았지만 CSS 미디어 유형을 사용할 수 있습니다.