거의 모든 버전의 Chrome에서 제품, 성능, 웹 플랫폼 기능에 대한 상당한 수의 업데이트와 개선사항이 적용됩니다. 이 도움말에서는 9월 15일 현재 베타 버전인 Chrome 54의 지원 중단 및 삭제에 대해 설명합니다. 이 목록은 언제든지 변경될 수 있습니다.
언로드 핸들러에서 탐색 사용 중지
요약: Chrome을 HTML 사양 및 Firefox, Safari와 일치시키기 위해 window.onunload
이벤트 핸들러에서 모든 교차 출처 탐색이 허용되지 않습니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
이전 버전의 Chrome에서는 window.onunload
내에서 교차 출처 탐색이 중단될 수 있었습니다. window.location.href = '#fragment'
를 설정하여 이 작업을 실행합니다. HTML 사양에 따르면 페이지 내 탐색만 언로드 핸들러에서 허용되며 이전 버전의 Chrome에서는 사양에 따라 다른 탐색 방법이 차단되었습니다. Chrome 54부터는 사양과 Firefox, Safari에 따라 이러한 탐색이 허용되지 않습니다.
HTTP/0.9 지원 중단
요약: HTTP/0.9는 지원이 중단되었습니다. 개발자는 최신 버전(HTTP/2 권장)으로 이동해야 합니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
HTTP/0.9는 HTTP/1.x의 전신입니다. 후속 모델의 많은 기능이 없습니다. 최신 웹의 특별한 관심사는 응답 헤더가 부족하다는 것입니다. 이러한 헤더가 없으면 HTTP/0.9 응답이 실제로 HTTP/0.9 응답인지 확인할 방법이 없습니다. 이로 인해 여러 문제가 발생할 수 있습니다. 예를 들어 다음과 같은 문제가 있습니다.
- 특정 오류 응답을 유효한 HTTP/0.9 응답으로 처리하는 클라이언트
- 요청 소켓을 닫지 못해 클라이언트가 응답을 무한정 또는 사용자가 요청을 만든 페이지에서 이동할 때까지 활성 상태로 유지되는 GET으로 처리하는 서버
- 요청이 실패했음을 브라우저에 나타낼 수 없는 서버로, 캐싱 휴리스틱에 문제가 발생할 수 있습니다.
HTTP/0.9 문제를 해결하는 유일한 확실한 방법은 지원을 완전히 삭제하는 것입니다. 이러한 이유로 Chrome 54에서 HTTP/0.9 지원이 삭제되었습니다.
initTouchEvent
사용이 삭제됨
TL;DR:
initTouchEvent
은 사양 준수를 개선하기 위해 TouchEvent
constructor
으로 대체되어 지원 중단되었으며 Chrome 54에서 완전히 삭제될 예정입니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
오랫동안 개발자는 initTouchEvent
API를 사용하여 Chrome에서 합성 터치 이벤트를 만들 수 있었습니다. 이러한 기능은 사이트에서 테스트하거나 일부 UI를 자동화하기 위해 터치 이벤트를 시뮬레이션하는 데 자주 사용됩니다. Chrome 49부터 이 지원 중단된 API에는 다음 경고가 표시됩니다 .

TouchEvent.initTouchEvent
는 지원 중단되었으며 2016년 9월경 M53에서 삭제될 예정입니다. 대신 TouchEvent
생성자를 사용하세요. 자세한 내용은
https://www.chromestatus.com/features/5730982598541312를 참고하세요.
터치 이벤트 사양에 포함되지 않는 것 외에도 이 변경사항이 좋은 여러 이유가 있습니다.
Chrome의 initTouchEvent
구현은 Safari의 initTouchEvent
API와 전혀 호환되지 않았으며 Android의 Firefox와도 달랐습니다. 마지막으로 TouchEvent
생성자를 훨씬 쉽게 사용할 수 있습니다.
이러한 이유로 사양을 따르기로 결정했으며 사양에 명시되어 있지 않고 유일한 다른 구현과도 호환되지 않는 API를 유지하지 않기로 했습니다.
대안이 필요한 개발자는 TouchEvent
생성자를 사용해야 합니다.
initTouchEvent
API의 iOS 및 Android/Chrome 구현이 매우 다르기 때문에 사이트에는 종종 다음과 같은 코드가 있습니다(Firefox를 자주 잊음).
var event = document.createEvent('TouchEvent');
if(ua === 'Android') {
event.initTouchEvent(touchItem, touchItem, touchItem, "touchstart", window,
300, 300, 200, 200, false, false, false, false);
} else {
event.initTouchEvent("touchstart", false, false, window, 0, 300, 300, 200,
200, false, false, false, false, touches, targetTouches, changedTouches, 0, 0);
}
docum
ent.body.dispatchEvent(touchEvent);
이는 사용자 에이전트에서 'Android'를 찾기 때문에 좋지 않습니다. Android의 Chrome이 일치하여 이 지원 중단에 도달합니다. 하지만 당분간 Android에는 다른 WebKit 및 이전 Blink 기반 브라우저가 있으므로 이전 API를 계속 지원해야 하므로 아직 삭제할 수는 없습니다.
웹에서 TouchEvent
를 올바르게 처리하려면 window
객체에 TouchEvent
가 있는지 확인하여 Firefox, IE Edge, Chrome을 지원하도록 코드를 변경해야 합니다. TouchEvent
에 양수 'length'가 있는 경우(인수를 사용하는 생성자임을 나타냄) 해당 TouchEvent
를 사용해야 합니다.
if('TouchEvent' in&& window TouchEvent>.length 0) {
var touch = new Touch({
identifier: 42,
target: document.body,
clientX: 200,
clientY: 200,
screenX: 300,
screenY: 300,
pageX: 200,
pageY: 200,
radiusX: 5,
radiusY: 5
});
event = new TouchEvent("touchstart", {
cancelable: true,
bubbles: true,
touches: [touch],
targetTouches: [touch],
changedTouches: [touch]
});
}
else {
event = document.createEvent('TouchEvent');
if(ua === 'Android') {
event.initTouchEvent(touchItem, touchItem, touchItem, "touchstart", window,
300, 300, 200, 200, false, false, false, false);
} else {
event.initTouchEvent("touchstart", false, false, window, 0, 300, 300, 200,
200, false, false, false, false, touches, targetTouches,
changedTouches, 0, 0);
}
}
document.body.dispatchEvent(touchEvent);
KeyboardEvent.keyIdentifier 속성 삭제됨
요약: 지원이 거의 되지 않는 keyboardEvent.keyIdentifier
속성이 표준 기반 KeyboardEvent.key
속성으로 대체됩니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
keyboardEvent.keyIdentifier
속성은 2009년과 2010년에 W3C 사양의 일부였습니다. 하지만 WebKit에서만 구현되었습니다.
이 속성을 대체해야 하는 개발자는 표준 기반 KeyboardEvent.key
속성 또는 KeyboardEvent.code
속성 (지난봄에 게시한 도움말에 설명됨)을 사용할 수 있습니다. 전자는 Safari를 제외한 모든 주요 데스크톱 브라우저에서 지원되므로 가장 광범위한 구현 기반을 갖습니다. 후자는 현재 Chrome, Firefox, Opera에서 지원됩니다. 이 기능을 삭제하는 것은 KeyboardEvent.key
속성의 채택을 유도하기 위한 것입니다. Apple에서 이를 지원할지 여부에 대해서는 언급이 없지만, 지원 중단되었으며 (Chrome에서 아직 삭제되지 않음) KeyboardEvent.keyCode
및 KeyboardEvent.charCode
속성은 Safari에서 계속 사용할 수 있습니다.
MediaStream ended 이벤트 및 속성, onended 속성 삭제
TL;DR: ended
이벤트와 속성, onended
이벤트 핸들러는 미디어 캡처 및 스트림 사양에서 삭제되었기 때문에 삭제됩니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
ended
이벤트와 onended
이벤트 핸들러는 약 3년 동안 WebRTC 사양에 포함되지 않았습니다. 이벤트를 모니터링하려는 개발자는 MediaStreams
대신 MediaStreamTracks
를 사용해야 합니다.
SVGSVGElement.viewPort 지원 중단
이 구현은 2012년부터 Chrome에서 작동하지 않았습니다. 이 속성은 다른 브라우저에는 전혀 없으며 사양에서 삭제되었습니다. 이러한 이유로 속성이 지원 중단됩니다. Chrome 55에서 삭제될 것으로 예상됩니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
SVGViewElement.viewTarget 지원 중단
SVGViewElement.viewTarget
속성은 SVG2.0 사양에 포함되지 않으며 사용량이 적거나 없습니다. 이 속성은 Chrome 54에서 지원 중단되었습니다. Chrome 56에서 삭제될 것으로 예상됩니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
SVGZoomEvent 삭제
SVGZoomEvent
는 SVG2.0 사양에 포함되지 않으며 Chromium에서 작동하지 않습니다. 이 기능은 여전히 감지할 수 있으므로 개발자에게 혼동을 줄 수 있습니다. 삭제됩니다.