1. 브라우저의 시간대와 언어를 이용한 해외 사용자 판별
해당 방법은 이해를 돕기 위한 샘플입니다.
실제 구현 시 사이트의 요구사항에 맞게 수정하여 사용 가능합니다.
1-1. 기능
- 브라우저의 시간대와 언어 설정을 확인하여 사용자가 해외 사용자인지 판별합니다.
- 해외 사용자로 판별된 경우에만 글로벌 오더 스크립트를 로드합니다.
1-2. 코드 설명
- 시간대 정보 확인:
Intl.DateTimeFormat().resolvedOptions().timeZone를 사용하여 사용자의 시간대 정보를 가져옵니다.
- 언어 정보 확인:
navigator.languages 또는 navigator.language를 사용하여 사용자의 브라우저 언어 설정을 가져옵니다.
- 해외 사용자 판별:
- 시간대와 언어 정보가 한국이 아닌 경우 해외 사용자로 간주합니다.
- 두 가지 조건 모두를 만족하지 않을 때만 글로벌 오더를 로드하도록 설정하여 판별 정확도를 높입니다.
- 글로벌 오더 로드: 해외 사용자일 경우
loadGlobalOrder() 함수를 호출하여 글로벌 오더 스크립트를 동적으로 로드합니다.
1-3. 코드 예시
<html>
<body>
<script>
// 한국 시간대 및 언어 코드 목록
const koreanTimeZones = ['Asia/Seoul'];
const koreanLanguages = ['ko', 'ko-KR'];
// 브라우저 시간대 및 언어 정보 가져오기
const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
const userLanguages = navigator.languages || [navigator.language || navigator.userLanguage];
// 한국 시간대인지 확인
const isKoreanTimeZone = koreanTimeZones.includes(userTimeZone);
// 한국어 사용자인지 확인
const isKoreanLanguage = userLanguages.some(lang => koreanLanguages.includes(lang));
// 해외 사용자 판별
if (!isKoreanTimeZone && !isKoreanLanguage) {
// 해외 사용자이므로 글로벌 오더 로드
loadGlobalOrder();
} else {
// 국내 사용자이므로 글로벌 오더를 로드하지 않음
}
// 글로벌 오더 스크립트 로드 함수
function loadGlobalOrder() {
const script = document.createElement('script');
script.src = 'global-order-script'; // 실제 글로벌 오더 스크립트로 변경
document.head.appendChild(script);
}
</script>
</body>
</html>
1-4. 주의사항
- 사용자가 VPN을 사용하거나 브라우저 설정을 변경한 경우 정확하지 않을 수 있습니다.
- 일부 브라우저에서는
Intl 객체나 navigator.language 속성을 지원하지 않을 수 있습니다.
2. 참고 자료