문제

하고 싶은 경우 구현 CMS,모바일 장치에 대한의 어떤 점을 고려해야?예를 들어,메이 페이지 작은 크기,사용 최적화(작은)사진.다른 어떤 아이디어가?

또한 어떤 종류의 규칙을 적용할 수 있습을 변환하는 동안 웹 페이지에 대한 설계 데스크탑 브라우저는 것은 쉽게 표시에 모바일 브라우저입니다.

내가 알고있는 모바일 장치에 널리 이 달라질에 있는 용량과 속성을 가지고 있지만,여전히 노력하고 목록 몇 가지 규칙이 있습니다.

또한 다른 아이디어 제안,질문과 조언에 오신 것을 환영합니다.

감사에 대한 의견과 답변이 있습니다.

도움이 되었습니까?

해결책

짧은 서문, 아래에 나열하고있는 모든 것들은 내가 이미 일하고 있거나 솔루션을 해결 한 회사의 주요 제품입니다.이 답변의 전체 목표는 당신에게 포인터를 제공하는 것입니다.


전화 식별

웹 컨텍스트로 모바일을 처리 할 때는 휴대 전화를 올바르게 식별하는 것이 절대적으로 필수적입니다. 그것은 최우선 과제가되어야합니다. 전화와 기능을 식별하는 데 몇 가지 문제가 있습니다.

  • 사용하지 마세요 userAgent.contains("iPhone") 탐지 체계. 이미 많은 웹 봇 및 기타 응용 프로그램이 포함되어 있습니다. iPhone 사용자 에이전트 문자열에서 잘못 식별 할 수 있습니다.
  • 모든 전화가 사용자 에이전트 헤더를 보내지는 않습니다. 그러나 그 중 일부는 전송됩니다 uaprof URL : 모든 휴대 전화의 기능을 포함하는 S RDF 체재. 불행히도 이것은 다음 두 가지 문제를 소개합니다.
  • 확실히 모든 단일 장치 데이터에 액세스 할 수는 없습니다. 그리고 당신은 다음과 같은 공개 데이터 리포지토리를 사용해야합니다. wurfl. 그러나이 데이터베이스는 불완전하고 약간 뒤쳐 지거나 원하는 데이터를 포함하지 않습니다. 그래도 초기 데이터 세트에 가장 적합한 방법입니다.
  • uaprofs 거짓말. 예, 그들은 잘못된 정보를 포함합니다 - 많은 정보! 부분적으로 이것은 제조업체가 XML : S와 부분적으로 UAPROF 파일이 전화를 개발하는 동안 작성되었으며 우리가 알고 있듯이 개발 중 기능이 변경되기 때문에 부분적으로 제조업체가 XML : S와 부분적으로 업데이트하는 것을 잊어 버리기 때문입니다.
  • 기능에 의존 할 때 특정 전화의 특정 버전에 의존하지 않도록하십시오. 예를 들어 BlackBerry에는 기본적으로 멋진 책갈피 인 Tile이라는 기능이 있지만 모든 BlackBerry 전화기에 제공 할 수는 없으므로 Tile의 올바른 변형을 제공하기 위해 실제 전화의 운영 체제 버전을 식별해야합니다. 터치 스크린도 마찬가지입니다. iPhone은 터치 스크린이있는 첫 번째 것이 아니었고 가장 확실히 유일한 것은 아닙니다. 예를 들어 장치에 입력 한 가지가있는 상황을 기대하지 않습니다. 노키아 N900 터치 스크린, 실제 키보드 및 스타일러스가 있습니다.

실제 페이지 만들기

고맙게도 이것은 사람들이 동의 한 것입니다. 페이지를 만들 때 사용해야합니다. XHTML-MP. 하지만 오, 어떻게 일이 이렇게 쉬웠 으면 좋겠어 ...

  • 모든 전화기마다 XHTML-MP/CSS 수준이 다릅니다. 예를 들어, 정확하게 기억한다면 일부 오래된 블랙 베리는 지원하지 않습니다. background-color 블록 요소의 경우. 또는 헤더 태그. 우리는 또한 잘못된 순서를 보았습니다 span 연속 몇 개가있을 때 요소. 아, 그리고 어떤 이유로 테이블은 정말 어렵습니다. 기본적으로 마크 업/스타일 트릭을 낮추어야합니다.
  • 기능 자체를 사용하여 기능의 존재를 테스트 할 수 없습니다. JavaScript 지원을 감지하려면 해당 목적만으로 페이지에 약간의 JavaScript를 추가하면 효과가 있다고 생각할 수 있습니다. 아니, 그것은 당신의 사이트를 방문하는 휴대 전화의 상당 부분이 충돌합니다. 물론, 새로운 전화는 충돌하지 않지만 지난 12 개월 동안 모든 사람이 전화를 구입 한 것은 아닙니다. 또한 모바일 특정 JavaScript API : S가 제조업체마다 다르지만, 또 다른 예는 현재 JavaScript 기반 지리적 위치 감지의 경우 적어도 3 개의 다른 API : S가 있으며, 그중 중 어느 것도 상호 운용 할 수 없습니다.

일반 CMS 기능 위에이 모든 것을 추가하십시오 (보안, 컨텐츠 관리 및 변환, 캐싱, 모듈성, 방문자 추적 및 What Not) 그리고 당신은 모든 것이 모든 것에 어떤 영향을 미치는지, 그리고 자신의 비용을 실제로 고려해야하는 방법에 대한 일종의 그림이 있어야합니다.

사실 이것은 SO의 일반적인 정신에 반대하지만, 나는 당신이 쉽게 만들어진 해결책을 얻도록 강력하게 제안합니다. 우리와 같은 대신 사이트 빌딩 요구에 사용하십시오. 결국, 우리의 제품은 7 년 분량의 전문 개발이 있습니다.

다른 팁

몇 가지 우리가 사용하는...

Cms 대상에 대한 모바일 장치를 검색할 수 있는 장치 유형을 검출(또는 데이터베이스의)화면 해상도로 콘텐츠,특히 이미지 확장할 수 있습니다.

렌더링 엔진은 또한 확인할 수 있는 장치를 처리할 수 있는 HTML 또는 WAP 및 스위치를 마크업 언어입니다.

페이징 기능을 출력에 반대로 렌더링은 매우 큰 페이지(경우에는 콘텐츠가 마법사가 큰)에도 도움이 됩니다.

깨끗한 통합과 함께 해당 웹 사이트 CMS(그래서 콘텐츠 필요하지 않 듀얼산)은 경우에도 도움이 tere,사실,해당하는 큰 양식 웹 사이트입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top