2014-04-04 12 views
11

W JavaScript, mogę uzyskać wysokość ekranu z window.screen.height. Teraz, jeśli mam dwa monitory i dwa monitory mają różne rozmiary, a ja przenosimy okno przeglądarki z jednego monitora na drugi, czy istnieje sposób, aby to wykryć, poza odpytywaniem rozmiaru okna w odstępach czasu?Czy mogę wykryć ruch okna przeglądarki z jednego ekranu na drugi w JavaScript?

+0

Czy istnieje funkcja javascript, którą chcesz osiągnąć, czy jest to tylko prezentacja? Jeśli nie masz logiki biznesowej i tylko prezentacji, możesz zajrzeć do rzutni css: https://developer.mozilla.org/en/docs/Mozilla/Mobile/Viewport_meta_tag –

+0

Przepraszam, poprawiłem pytanie, miałem na myśli "wysokość ekranu" . –

+0

Można próbować korzystać z zapytań o media, w szczególności z reguł "wysokość urządzenia" i "szerokość urządzenia". Możesz dołączyć detektory zdarzeń, aby otrzymać powiadomienie, gdy te wartości się zmienią. Może to ci pomoże. Przeczytaj [tutaj] (https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#device-width). – dfsq

Odpowiedz

2

Nie ma niezawodnego sposobu na zrobienie tego, screen.height zawsze zwróci wysokość głównego monitora, nie ma znaczenia, ile masz monitorów, więc to w niczym nie pomoże.

Używanie screenX/Y tak naprawdę nie pomaga, ponieważ nie ma wskazań, kiedy kończy się jeden ekran, a drugi zaczyna, a próba obliczenia byłaby trudna, ponieważ nie ma żadnej gwarancji, że użytkownik zacznie z przeglądarką przy górny lewy na jednym z ekranów lub przeglądarka zajmuje cały ekran i nie można uzyskać wymiarów dla żadnego innego monitora niż główny ekran, więc nie ma możliwości poznania rozmiaru innych ekranów.

Innymi słowy, będzie to trudne, jeśli nie niemożliwe, a każde rozwiązanie prawdopodobnie nie będzie niezawodne ani przenośne, więc lepiej po prostu trzymać się okna przeglądarki i wykrywać zmiany w tym , co jest łatwe i generalnie wszystko czego potrzebujesz.

+0

Dlaczego nie możesz użyć screen.availWidth? Czy nie zapewnia łącznej szerokości obu ekranów? Czy nie można odjąć szerokości ekranu głównego, aby określić szerokość drugiego ekranu? Następnie można uzyskać zgadywaną domysły na wysokości drugiego ekranu tylko dzięki znanym standardowym rozmiarom ekranu. –

+0

@GaryHayes - Mam cztery ekrany, a 'screen.availWidth' daje tylko' 1920', co stanowi szerokość ekranu głównego, jak zauważono w mojej odpowiedzi, ekran nie daje wymiarów dla niczego innego niż podstawowy ekran. – adeneo

+0

OK. Mam tylko jeden ekran. Czy istnieje sposób, aby zmienić ostrość na inny ekran za pomocą javascript i uzyskać z niego dostęp? –

Powiązane problemy