여러 개의 (미러링되지 않은) 모니터로 작업 할 때 OS는 기본적으로 "결합 된"좌표 공간을 만듭니다 (적어도 Chrome App이 작동하는 한).
예를 들어, 나란히 2 개의 1920x1080 모니터가있는 경우 좌표는 (0,0)-(1989,1079)
범위에 있고 다른 하나는 (1920,0)-(3839,1079)
입니다. 나란히 있다고 가정 할 수는 없으며, 가능한 오프셋을 포함하여 모든 접하는 방식으로 함께 "접착"될 수 있습니다.
outerBounds.top
/outerBounds.left
속성을 chrome.app.window.create
으로 전달하면 실제로는 현재 모니터가 아닌 조합 된 좌표 공간을 참조합니다. Chrome은 사용자가 화면에 표시하기 위해 통과 한 항목을 클램핑/이동합니다.
이제 모니터 구성을 감지하는 방법은 무엇입니까? 이를위한 API는 chrome.system.display
입니다 ("system.display"
사용 권한 필요). 모니터와 함께 왼쪽 상단 모서리의 "조합 된"좌표와 크기 ("workArea"영역 (즉, 모니터 크기에서 시스템 도구 모음 빼기)에 대한 정보 포함)를 나열합니다.
다음은 무엇을 설명합니까 그 코드입니다 :
chrome.system.display.getInfo((screens) => {
screens.forEach((screen) => {
chrome.app.window.create("app.html", {
outerBounds: screen.workArea // It so happens it's formatted as expected
});
});
});
당신이 창문/최대화 전체 화면하려는 경우, 그것은 그들이 그들이 먼저 올바른 모니터에있는 보장하기 위해 작성 후에 그렇게 아마 가장 좋습니다.
제발, 크롬 앱 are being deprecated을 고려해보십시오.
출처
2016-08-25 13:44:16
Xan