2014-04-04 44 views
11

Trong JavaScript, tôi có thể có chiều cao của màn hình với window.screen.height. Bây giờ, nếu tôi có màn hình kép và hai màn hình có kích thước khác nhau và tôi di chuyển cửa sổ trình duyệt từ màn hình này sang màn hình khác, có cách nào để phát hiện ra, ngoài việc bỏ chọn kích thước cửa sổ trong khoảng thời gian không?Tôi có thể phát hiện chuyển động của cửa sổ trình duyệt từ màn hình này sang màn hình khác trong JavaScript không?

+0

Có chức năng javascript nào bạn muốn đạt được hay chỉ là về mặt trình bày? Nếu bạn không có logic kinh doanh và chỉ trình bày bạn có thể xem xét trong các khung nhìn css: https://developer.mozilla.org/en/docs/Mozilla/Mobile/Viewport_meta_tag –

+0

Xin lỗi, tôi đã sửa câu hỏi, ý tôi là "chiều cao màn hình" . –

+0

Bạn có thể thử sử dụng các truy vấn phương tiện, cụ thể là các quy tắc 'thiết bị-chiều cao' và' chiều rộng thiết bị'. Bạn có thể đính kèm người nghe sự kiện để được thông báo khi những giá trị đó thay đổi. Có lẽ nó có thể giúp bạn. Đọc [tại đây] (https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#device-width). – dfsq

Trả lời

2

Không có cách nào đáng tin cậy để thực hiện việc này, screen.height sẽ luôn trả về chiều cao của màn hình chính, bất kể bạn có bao nhiêu màn hình, vì vậy điều đó sẽ không giúp ích chút nào.

Sử dụng màn hình X/Y không thực sự hữu ích, vì không có chỉ báo khi một màn hình kết thúc và một màn hình khác bắt đầu, và cố gắng tính toán nó sẽ khó khăn vì không đảm bảo người dùng bắt đầu với trình duyệt tại trên cùng bên trái ở một trong các màn hình hoặc trình duyệt chiếm toàn bộ màn hình và bạn không thể lấy kích thước cho bất kỳ màn hình nào khác ngoài màn hình chính, vì vậy không có cách nào để biết kích thước của các màn hình khác.

Nói cách khác, sẽ rất khó để làm điều này, nếu không phải là không thể, và bất kỳ giải pháp nào có thể sẽ không đáng tin cậy hoặc di động, vì vậy bạn chỉ cần gắn bó với cửa sổ trình duyệt và phát hiện thay đổi , dễ dàng và thường là tất cả những gì bạn cần.

+0

Tại sao bạn không thể sử dụng screen.availWidth? Nó không cung cấp cho bạn chiều rộng kết hợp của cả hai màn hình? Bạn có thể không trừ chiều rộng của màn hình chính để xác định chiều rộng của màn hình thứ hai không? Sau đó, bạn có thể thực hiện dự đoán có giáo dục ở chiều cao màn hình thứ hai chỉ bằng cách biết kích thước độ phân giải màn hình chuẩn. –

+0

@GaryHayes - Tôi có bốn màn hình và 'screen.availWidth' chỉ cung cấp cho tôi' 1920', đó là chiều rộng của màn hình chính, như được ghi trong câu trả lời của tôi, màn hình không cung cấp cho bạn kích thước cho bất kỳ thứ gì khác ngoài màn. – adeneo

+0

OK. Tôi chỉ có một màn hình. Có cách nào để thay đổi tập trung vào màn hình khác với javascript và nhận được availWidth từ nó? –

Các vấn đề liên quan