Tôi đang cố gắng tìm ra cách để có được kích thước vật lý của màn hình thiết bị thông qua Javascript. Cho đến nay, kết luận của tôi là nó hiện không thể, nhưng tôi hy vọng ai đó có thể chứng minh tôi sai :).Cách nhận kích thước vật lý của màn hình (ví dụ: tính bằng inch)?
Cho đến nay tôi đã cố gắng lấy thông tin này bằng cách tìm DPI của thiết bị, nhưng dường như không có cách nào để có được giá trị chính xác ở đây, như tất cả các thiết bị tôi đã thử nghiệm (một số thiết bị Android HDSI & XHDPI, iPhone4S, iPad 2 và iPad 3) báo cáo 96DPI.
Phương pháp đầu tiên của việc thu thập các Sở KH & ĐT tôi đã cố gắng là một trong những bạn có thể tìm thấy ở khắp mọi nơi trên internet: tạo ra một div
có chiều rộng CSS của 1in
, có clientWidth
hoặc offsetWidth
và có DPI của bạn của nó. Không hoạt động, tất cả các thiết bị báo cáo 96.
Phương pháp thứ hai được sử dụng resolution media query, một cái gì đó dọc theo dòng:
for (var i=90; i < 400; i++) {
if (matchMedia('(resolution: ' + i + 'dpi)').matches) {
return i;
}
}
Tôi nghĩ đó là một giải pháp thông minh, nhưng tiếc rằng trả 96 cũng .
Còn gì để tôi có thể thử không?
Tôi khuyên bạn nên kiểm tra [chủ đề này] (http://stackoverflow.com/questions/6831115/is-it-possible-to-get-a-users-physical-screen-size-without-the-use-of -a-vật lý), nếu bạn chưa làm điều này. Tôi không nghĩ rằng nó có thể - ít nhất, chính xác hơn. – raina77ow
Tôi không có ý tưởng nào tốt hơn là hỏi người dùng. –