diff --git a/README.md b/README.md index 556c893..d8d99e6 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ const Postcode = () => { | name | type | default | description |:----:|:----:|:-------:|:-----------| -| scriptUrl | `string` | [CURRENT_URL](https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js) | Daum 우편번호 서비스의 스크립트 주소입니다.| +| scriptUrl | `string` | [CURRENT_URL](https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js) | Daum 우편번호 서비스의 스크립트 주소입니다.| | onComplete | `function` | `undefined` | 우편번호 검색이 끝났을 때 사용자가 선택한 정보를 받아올 콜백함수입니다. 주소 데이터의 구성은 [Daum 가이드](http://postcode.map.daum.net/guide)를 참고해주세요. | | onSearch | `function` | `undefined` | 주소를 검색할 경우 실행되는 콜백함수입니다. 검색 결과 정보의 구성은 [Daum 가이드](http://postcode.map.daum.net/guide)를 참고해주세요. | | onClose | `function` | `undefined` | 검색 결과를 선택하여, 서비스가 닫힐 때 실행되는 콜백함수입니다. | @@ -106,7 +106,7 @@ const Postcode = () => { | name | type | default | description |:----:|:----:|:-------:|:-----------| -| scriptUrl | `string` | [CURRENT_URL](https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js) | Daum 우편번호 서비스의 스크립트 주소입니다.| +| scriptUrl | `string` | [CURRENT_URL](https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js) | Daum 우편번호 서비스의 스크립트 주소입니다.| | onComplete | `function` | `undefined` | 우편번호 검색이 끝났을 때 사용자가 선택한 정보를 받아올 콜백함수입니다. 주소 데이터의 구성은 [Daum 가이드](http://postcode.map.daum.net/guide)를 참고해주세요. | | onSearch | `function` | `undefined` | 주소를 검색할 경우 실행되는 콜백함수입니다. 검색 결과 정보의 구성은 [Daum 가이드](http://postcode.map.daum.net/guide)를 참고해주세요. | | onClose | `function` | `undefined` | 검색 결과를 선택하여, 서비스가 닫힐 때 실행되는 콜백함수입니다. | diff --git a/src/loadPostcode.ts b/src/loadPostcode.ts index f1c7172..5111edf 100644 --- a/src/loadPostcode.ts +++ b/src/loadPostcode.ts @@ -8,6 +8,14 @@ declare global { }; Postcode: PostcodeConstructor; }; + kakao?: { + postcode: { + load: (fn: () => void) => void; + version: string; + _validParam_: boolean; + }; + Postcode: PostcodeConstructor; + }; } } @@ -124,10 +132,10 @@ export interface Postcode { embed(element: HTMLElement, embedOptions?: EmbedOptions): void; } -export const postcodeScriptUrl = 'https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js'; +export const postcodeScriptUrl = 'https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js'; const loadPostcode = (function () { - const scriptId = 'daum_postcode_script'; + const scriptId = 'kakao_postcode_script'; let promise: Promise | null = null; return function (url: string = postcodeScriptUrl): Promise { @@ -137,8 +145,9 @@ const loadPostcode = (function () { const script = document.createElement('script'); script.src = url; script.onload = () => { - if (window?.daum?.Postcode) { - return resolve(window.daum.Postcode); + const PostcodeConstructor = window?.kakao?.Postcode ?? window?.daum?.Postcode; + if (PostcodeConstructor) { + return resolve(PostcodeConstructor); } reject(new Error('Script is loaded successfully, but cannot find Postcode module. Check your scriptURL property.')); };