Đối với dự án web di động hiện tại của tôi, tôi sử dụng thẻ meta "viewport" để hướng dẫn trình duyệt di động sử dụng tỷ lệ 1: 1 chiều rộng của thiết bị:meta chiều rộng thiết bị "viewport": Chiều rộng sai nhỏ trên Opera Mobile 9.7 (10 công trình)
<meta name="viewport" content="initial-scale=1.0, width=device-width, height=device-height, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
Tính năng này hoạt động trên IE, iPhone Safari và thậm chí trên Opera 10 beta, nhưng không có trên Opera 9.7 được cài đặt mặc định trên HTC HD2. HTC HD2 có kích thước thiết bị 480x800, do đó chế độ xem sẽ có chiều rộng 480 ở chế độ dọc. Nhưng xuất hiện Opera di động 9,7 (và có lẽ 9,5 quá) thiết lập một chiều rộng sai, vì vậy sau đó tất cả mọi thứ được phóng to một chút. Tôi đã sử dụng một đoạn mã javascript ngắn để kiểm tra kích thước cửa sổ thực tế:
$ (window) .width() -> trả về 274
window.innerWidth -> trả về 480
Khi tôi hardcode 480 thay vì "thiết bị -width "mọi thứ hoạt động chính xác. Cùng vào đây để cảnh-mode:
$ (window) .width() -> trả về 457
window.innerWidth -> trả về 800
Có workaround cho điều này?
Chúc mừng
tôi có một hd2 htc, nhưng tôi luôn luôn nhận 960 cho chiều rộng! tôi đã thử window.screen.width và tôi nhận được 480, luôn luôn! và chiều cao luôn luôn là 800 không có vấn đề gì, là một lỗi ?! – Ayyash
hôm nay tôi đã thử: document.body.offsetWidth trong khi đặt thẻ meta chế độ xem thành 240, tôi đã nhận được 236! yepeee, nhưng tôi vẫn không nhận được giá trị độ cao chính xác trừ khi trang trống – Ayyash
mọi thứ tôi mới thử hôm nay, trong C# Request.Browser.ScreenPixelsWidth.ToString() trả về 640! và tôi nghĩ tôi có thể sử dụng nó để phân biệt một số màn hình nhưng naaah! – Ayyash