확장 프로그램용 Chrome 120의 새로운 기능

Chrome 120이 베타 버전으로 출시되었으며 Chrome 확장 프로그램 개발자를 위한 다양한 업데이트가 포함되어 있습니다.

Chrome 확장 프로그램팀은 올해 바쁜 한 해를 보냈습니다. 어제 Chrome 120 베타 출시와 함께 확장 프로그램 플랫폼이 또 한 번 큰 발전을 이루었습니다. 올해의 주요 소식을 확인하려면 7월10월의 분기별 업데이트를 참고하세요. 확장 프로그램용 Chrome 120의 새로운 기능을 알아보세요.

플랫폼 격차 해소

Chrome 120 출시와 함께 Manifest V3 알려진 문제 페이지에 나열된 나머지 플랫폼 격차가 해소됩니다. ChromeOS의 파일 처리 지원과 새로운 userScript API가 이제 목록에서 지울 수 있는 두 가지 항목이었습니다. 이전 분기별 업데이트에 설명된 변경사항과 함께 Chrome 확장 프로그램 플랫폼의 현재 상태와 지난 1년 동안의 성과에 매우 만족합니다.

새로운 userScripts API

사용자 스크립트 지원이 출시되었습니다. 사용자 스크립트는 확장 프로그램이 페이지의 모양이나 동작을 수정하기 위해 웹페이지에 삽입할 수 있는 코드 스니펫으로, 일반적으로 비교적 작습니다. 사용자는 직접 만들거나 웹에 있는 여러 사용자 스크립트 저장소에서 찾을 수 있습니다. Chrome 120부터 Manifest V3 확장 프로그램은 사용자 스크립트 모음을 관리하고 웹페이지에 스크립트를 삽입할 시점과 방법을 결정할 수 있습니다.

Manifest V2와 Manifest V3의 사용자 스크립트 지원에는 한 가지 중요한 차이점이 있습니다. 사용자 스크립트는 강력하고 사용자 스크립트 작성자에 대한 신뢰도가 높아야 하므로 Chrome팀은 사용자가 사용자 스크립트를 실행하려면 개발자 모드를 선택해야 한다고 결정했습니다.

광고 확장 페이지
확장 프로그램 페이지 (chrome://extensions)

새로운 userScript 샘플은 개발자 모드가 사용 설정되어 있는지 감지하고 간단한 온보딩 흐름을 제공하는 간단한 접근 방식을 보여줍니다.

사용자 스크립트의 샘플 온보딩 흐름
개발자 모드가 사용 중지된 경우 사용자를 온보딩합니다.

시작하려면 문서를 확인하거나 공식 샘플을 살펴보세요.

더 높은 정적 DNR 규칙 세트 한도

사용 설정된 정적 규칙 세트의 한도를 10개에서 50개로 대폭 늘렸습니다. 또한 허용되는 정적 규칙 집합의 총 개수를 50개에서 100개로 늘렸습니다. 이는 웹 확장 프로그램 커뮤니티 그룹에서 받은 의견에 따른 조치입니다.

새로운 ReadingList API

Chrome은 2021년에 읽기 목록을 도입했습니다. 작년에 Chrome팀은 측면 패널을 통해 읽기 목록에 더 쉽게 액세스할 수 있도록 했습니다. Chrome 120에서는 Chrome 확장 프로그램이 읽기 목록 항목을 만들고, 읽고, 업데이트하고, 삭제할 수 있는 기능이 추가됩니다. 자세한 내용은 API 문서새 샘플을 참고하세요.

확장 프로그램 문서 페이지가 표시된 Chrome의 읽기 목록
Chrome의 읽기 목록 측면 패널

ChromeOS의 파일 처리

파일 처리를 사용하면 확장 프로그램이 웹 플랫폼 파일 처리와 유사한 방식으로 지정된 MIME 유형 및 파일 확장자가 있는 파일을 열 수 있습니다. 사용 방법에 관한 자세한 내용은 ChromeOS의 파일 처리를 참고하세요.

ChromeOS의 확장 프로그램이 있는 파일 열기 대화상자 스크린샷
ChromeOS의 확장 프로그램에서 파일을 엽니다.

30초 후에 알람 트리거

이번 업데이트는 작지만 서비스 워커 수명 주기의 중요한 공백을 해결합니다. 서비스 워커의 이벤트 기반 특성으로 인해 향후 이벤트를 실행하는 권장 방법은 chrome.alarms를 사용하는 것입니다. Alarms API를 사용하면 그동안 서비스 워커가 종료되더라도 이벤트가 실행됩니다.

단, 한 가지 주의할 점이 있습니다. Chrome 120 이전에는 알람이 트리거되는 최단 시간이 1분이었지만 하지만 서비스 워커는 30초 동안 활동이 없으면 종료됩니다. 따라서 45초 후에 알람이 실행되도록 예약하는 간단한 방법이 없었습니다. setTimeout()를 사용하여 45초 후에 이벤트를 설정하면 이벤트가 실행되기 전에 서비스 워커가 종료될 수 있기 때문입니다.

Chrome 120부터 다음 위치에서 이벤트를 실행할 수 있습니다.

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

요약

지난 1년간 확장 프로그램 플랫폼이 거둔 성과에 대해 매우 기쁘게 생각합니다. Chrome 120은 DNR 한도와 사용자 스크립트 지원을 늘리는 또 다른 큰 걸음입니다.