2013-06-26 17 views
11

Pracuję nad aplikacją w pakiecie, która będzie korzystać z wielu wyświetlaczy. Muszę mieć możliwość otwierania okien w określonych wyświetlaczach. Próbowałem również otwierać okna, a następnie za pomocą javascript przenosić je na monitor. Ale aplikacja nie będzie się przesuwać dalej niż granice aktywnego ekranu.Chrome Aplikacja w pakiecie i dwa monitory

Jakieś pomysły na to, jak to działa?

+0

Z tego, co widziałem, Chrome wydaje się być ostry, jeśli chodzi o wiele monitorów. Jeśli zmienię główny ekran (mam 3 monitory), ekran chrome stanie się czarny i przestanie reagować. Najprawdopodobniej jest to jakiś wewnętrzny problem w chrome, który to zatrzymuje. –

+0

Inną myślą, którą miałem, było użycie pakietu Chrome Native Client SDK do zarządzania oknami. Nie wiem jednak wiele o SDK. Czy byłoby możliwe kontrolowanie okna za pomocą tego? – Kywillis

+0

Jest to głównie do integrowania aplikacji komputerowych w przeglądarce. To może bardzo dobrze działać, zależy to tylko od poziomu dostępu, jaki uzyskujesz za pomocą chrome. –

Odpowiedz

0

To nie było rozwiązanie, na które liczyłem, ale jako jeden z komentarzy wspomniano o błędzie w Chrome i wielu monitorach. W moim przypadku jest to aplikacja wewnętrzna, więc mogę zainstalować wszystko, czego potrzebuję, aby to działało.

Moje rozwiązanie polegało na utworzeniu aplikacji konsolowej, która uruchamia aplikację chrome, a następnie przenosi okna za pomocą interfejsu API systemu Windows32. Oczywiście nie jest idealny, ale działa, a użytkownik potrzebuje tylko jedno kliknięcie, aby uruchomić aplikację.

1

Zastosowanie AppWindow#setBounds

Np

chrome.app.window.get('mainWindow').setBounds({"height": 200, "left": 2000})

Testowane na V34

Boom. Zmień to, aby poprawić odpowiedź.

3

Używając chrome.system.display.getInfo, można uzyskać informacje o wyświetlaczu dla każdego aktywnego wyświetlacza.

Dzięki displayInfo.workArea można uzyskać obszar roboczy każdego wyświetlacza, wystarczy pomyśleć o jednym dużym wyświetlaczu, a każdy ekran to obszar roboczy. Dzięki tym informacjom możesz przenieść swoje okno z

AppWindow#setBounds do właściwego monitora. Be carfull, AppWindow#moveTo nie działa.

Powiązane problemy