Thật không may mỗi trình duyệt có triển khai thẻ meta khung nhìn riêng. Các kết hợp khác nhau sẽ hoạt động trên các trình duyệt khác nhau.
Android 2.2: thẻ meta chế độ xem có vẻ không được hỗ trợ chút nào.
Android 2.3.x/3.x: Bằng cách đặt sử dụng khả năng mở rộng = no bạn vô hiệu hóa các tỉ lệ của khung nhìn meta tag cho mình là tốt. Đây có lẽ là lý do tại sao tùy chọn chiều rộng của bạn không có hiệu lực. Để cho phép trình duyệt chia tỷ lệ nội dung của bạn, bạn cần đặt người dùng có thể mở rộng = yes, sau đó tắt thu phóng, bạn có thể đặt tỷ lệ tối thiểu và tối đa thành cùng một giá trị để nó không thể thu nhỏ hoặc phát triển. Đồ chơi với quy mô ban đầu cho đến khi trang web của bạn vừa khít.
<meta name="viewport" content="initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,width=device-width,height=device-height,target-densitydpi=device-dpi,user-scalable=yes" />
4.x Android: Cùng quy tắc áp dụng như 2.3.x trừ min và max quy mô không được vinh dự nữa và nếu bạn sử dụng sử dụng khả năng mở rộng = yes người dùng có thể phóng to luôn, đặt nó để 'không' có nghĩa là quy mô của riêng bạn bị bỏ qua, đây là vấn đề mà tôi đang đối mặt lúc này đã lôi tôi vào câu hỏi này ... Bạn dường như không thể vô hiệu hóa thu phóng và tỷ lệ cùng lúc trong 4.x.
iOS/Safari (4.x/5.x thử nghiệm): Cân việc như mong đợi, bạn có thể vô hiệu hóa rộng với sử dụng khả năng mở rộng = 0 (từ khóa có/không không làm việc trong 4.x). iOS/Safari cũng không có khái niệm về target-densitydpi vì vậy bạn nên bỏ qua điều đó để tránh lỗi. Bạn không cần min và max vì bạn có thể tắt phóng to theo cách mong đợi.Chỉ sử dụng rộng hoặc bạn sẽ chạy vào iOS orientation bug
<meta name="viewport" content="initial-scale=1.0,width=device-width,user-scalable=0" />
Chrome: Cân việc như mong đợi như họ làm trong iOS, min và max hân hạnh và bạn có thể tắt bằng cách sử dụng phóng to user- scalable = no.
<meta name="viewport" content="initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,width=device-width,user-scalable=no" />
Kết luận: Bạn có thể sử dụng một số JS khá đơn giản để thiết lập các nội dung phù hợp sau khi một số phát hiện trình duyệt/thiết bị cơ bản. Tôi biết loại phát hiện này được cau mày nhưng trong trường hợp này nó gần như không thể tránh khỏi vì mỗi nhà cung cấp đã đi và thực hiện điều của riêng mình! Hy vọng điều này sẽ giúp mọi người chiến đấu với chế độ xem và nếu có ai đó có giải pháp để vô hiệu hóa thu phóng trong Android 4.x KHÔNG sử dụng chế độ xem, vui lòng cho tôi biết.
[EDIT]
Android trình duyệt Chrome 4.x (mà tôi nghĩ là được cài đặt sẵn trong hầu hết các quốc gia): Bạn có thể chắc chắn rằng người dùng không thể phóng to và trang là toàn màn hình. Nhược điểm: bạn phải đảm bảo nội dung có chiều rộng cố định. Tôi chưa thử nghiệm điều này trên các phiên bản Android thấp hơn. Để làm điều này xem ví dụ:
<meta name="viewport" content="width=620, user-scalable=no" />
[EDIT 2]
iOS/Safari 7.1: Kể từ v7.1, Apple đã giới thiệu một lá cờ mới cho thẻ meta viewport gọi minimal-ui
. Để hỗ trợ các ứng dụng toàn màn hình, điều này ẩn thanh địa chỉ và thanh công cụ dưới cùng để có trải nghiệm toàn màn hình (không phải là API toàn màn hình hoàn toàn nhưng đóng và không yêu cầu người dùng chấp nhận). Nó đi kèm với nó là fair share of bugs as well và không hoạt động trong iPad.
<meta name="viewport" content="initial-scale=1.0,width=device-width,user-scalable=0, minimal-ui" />
[EDIT 3]
iOS/Safari 8 Beta 4: Chế độ xem thẻ meta minimal-ui
nêu tại EDIT 2 hiện đã được gỡ bỏ bởi Apple trong phiên bản này. Source - WebKit Notes
Tôi ghét bạn vì đã vô hiệu hóa thu phóng của tôi. Thành thật. –
Hahaha :) Đó là cách tôi nhìn thấy nó bây giờ để ... Và nó cũng hóa ra là giải pháp của tôi trở lại sau đó.Trong những ngày đầu tiên của các trang web đáp ứng, tôi cảm thấy ý tưởng này rằng việc thu phóng sẽ bị vô hiệu hóa ... –
Nhà phát triển, vui lòng KHÔNG LÀM NÀY! Điều này có thể khiến trang web của bạn hoàn toàn KHÔNG THÍCH đối với những người có thị lực kém! Chỉ cần tạo cho chế độ xem được thu nhỏ, nhưng hãy để mọi người phóng to. Chức năng này có lý do! – rickythefox