코리아드롭다운 icon

코리아드롭다운

웹사이트의 드롭다운 메뉴에서 'Korea'를 자동으로 선택하는 크롬 확장 프로그램입니다.

사용자 수
800+
지원 브라우저
Chrome
버전
1.5.0

해외 사이트 가입 폼에서 국가를 고를 때마다 200개가 넘는 목록을 위아래로 훑게 됩니다. South Korea, Republic of Korea, Korea, Rep. 처럼 표기가 제각각이고 검색창이 없는 경우도 많습니다. 이 확장 프로그램은 드롭다운을 여는 클릭을 감지해 옵션 텍스트를 읽고, 실제 폼에서 쓰이는 한국 표기 목록과 대조해 해당 항목을 선택합니다. 팝업에는 켜기·끄기 스위치 하나만 있습니다.

이럴 때 씁니다

  • 국가 목록이 긴 가입 폼

    국가 입력란을 클릭하면 한국에 해당하는 옵션이 선택됩니다. 기본 select 메뉴, li나 role="option" 요소로 만든 커스텀 드롭다운, react-select로 그려진 메뉴를 모두 처리합니다. select의 경우 값을 넣은 뒤 change 이벤트를 발생시키기 때문에, 자바스크립트 프레임워크로 만든 폼도 선택을 정상적으로 인식합니다.

  • 국가번호가 붙은 전화·결제 폼

    국가 옵션에 "Korea (+82)"처럼 국가번호가 붙어 있는 경우가 많습니다. 괄호 안의 번호는 비교 전에 떼어 내기 때문에 이런 항목도 그대로 잡힙니다. 배송지와 결제 단계처럼 드롭다운이 여러 개인 폼에서도 각 드롭다운을 여는 시점에 하나씩 처리합니다.

  • 화면이 다시 그려지는 페이지

    페이지 전체를 새로 불러오지 않고 화면만 바꾸는 사이트에서는 폼이 다시 그려지면서 방금 고른 값이 풀릴 수 있습니다. 백그라운드 스크립트가 naver.com, daum.net, tistory.com에서 일어나는 페이지 내 이동을 감지해 해당 탭에 재적용 신호를 보내고, 페이지의 모든 select를 다시 확인합니다. 그 외 사이트에서는 클릭 시점에 동작합니다.

권한과 개인정보

storage설정과 데이터를 브라우저 자체 저장소(이 기기)에 저장합니다.
tabs열려 있는 탭의 제목과 주소를 확인할 수 있습니다.
webNavigation탭이 새 페이지로 이동하는 시점을 감지합니다.
<all_urls>모든 사이트 — 어느 페이지에서든 동작해야 하기 때문입니다.

확장에 포함된 코드만 실행하며 원격 코드를 내려받지 않습니다.

자주 묻는 질문

국가 선택 드롭다운에서 한국을 자동으로 고르게 하려면?

설치한 뒤 팝업 스위치를 켠 상태로 두고 국가 드롭다운을 열면 됩니다. 옵션 텍스트를 South Korea, Republic of Korea, Korea, Rep., ROK, 대한민국 등 약 스무 가지 표기 목록과 대조해 일치하는 항목을 선택합니다. 비교할 때 대소문자와 앞뒤 공백은 무시합니다.

select가 아닌 드롭다운에서도 동작하나요?

일정 범위 안에서는 동작합니다. select 외에도 combobox, listbox, .dropdown, .select로 표시된 요소 안의 li, .dropdown-item, [role="option"] 항목을 옵션으로 보고 일치하는 항목을 클릭합니다. react-select 메뉴는 생성되는 옵션 id로 찾습니다. 이 패턴 중 어느 것도 쓰지 않는 자체 구현 위젯은 인식하지 못합니다.

값은 바뀌었는데 폼이 인식하지 못하는 경우는 없나요?

기본 select에는 값을 넣은 뒤 버블링되는 change 이벤트를 발생시킵니다. React나 Vue, 유효성 검사 스크립트가 듣고 있는 이벤트라 선택이 그대로 전달됩니다. 커스텀 메뉴와 react-select에서는 옵션을 실제로 클릭하므로 사이트가 원래 쓰던 처리 로직이 그대로 실행됩니다. 폼 제출까지 대신하지는 않습니다.

잠깐 꺼 두려면 어떻게 하나요?

팝업을 열어 스위치를 내리면 배지가 OFF로 바뀌고 클릭에 반응하지 않습니다. 이 상태는 Chrome 동기화 저장소의 enabled 값 하나로 관리되기 때문에 모든 탭에 동시에 적용되고, 같은 계정으로 로그인한 다른 기기의 Chrome에도 따라갑니다. 다시 켜는 방법도 같습니다.

모든 사이트 권한을 요구하는 이유가 뭔가요?

manifest에 선언된 권한은 storage, tabs, webNavigation과 모든 사이트에 대한 호스트 권한입니다. 국가 드롭다운은 어느 사이트에나 나올 수 있고 지금 작성 중인 페이지에서 옵션 텍스트를 읽어야 하기 때문에 호스트 권한이 필요합니다. storage에는 켜기·끄기 값이 저장됩니다. tabs와 webNavigation은 naver.com·daum.net·tistory.com에서 페이지 전체가 새로 로드되지 않고 내용만 바뀌는 이동을 감지해 목록을 다시 적용하는 데 쓰입니다.

관련 확장 프로그램