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

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

Chrome 확장 프로그램팀은 바쁜 한 해였습니다. 어제 Chrome 120 베타 출시로 확장 프로그램 플랫폼이 큰 진전을 이루고 있습니다. 올해 있었던 일에 대한 개요는 7월10월의 분기별 업데이트를 확인하세요. 확장 프로그램용 Chrome 120의 새로운 기능을 확인해 보세요.

플랫폼 간극 해소

Chrome 120이 출시됨에 따라 Manifest V3 알려진 문제 페이지에 나열된 나머지 플랫폼 격차가 해소될 예정입니다. 새로운 userScript API와 ChromeOS에서의 파일 처리 지원은 목록에 남아 있는 두 가지 항목이며, 이전 분기별 업데이트에서 설명한 변경사항과 더불어 Chrome 확장 프로그램 플랫폼의 현재 상태와 지난 한 해 동안 성취한 성과에 매우 만족하고 있습니다.

새 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
 });

요약

지난 한 해 동안 확장 프로그램 플랫폼이 진전을 이룬 것에 대해 무척 기대가 큽니다. Chrome 120은 DNR 제한과 사용자 스크립트 지원이 증가한 또 다른 큰 단계입니다.