1. 브라우저의 시간대와 언어를 이용한 해외 사용자 판별

해당 방법은 이해를 돕기 위한 샘플입니다.
실제 구현 시 사이트의 요구사항에 맞게 수정하여 사용 가능합니다.

1-1. 기능

  • 브라우저의 시간대와 언어 설정을 확인하여 사용자가 해외 사용자인지 판별합니다.
  • 해외 사용자로 판별된 경우에만 글로벌 오더 스크립트를 로드합니다.

1-2. 코드 설명

  1. 시간대 정보 확인: Intl.DateTimeFormat().resolvedOptions().timeZone를 사용하여 사용자의 시간대 정보를 가져옵니다.
  2. 언어 정보 확인: navigator.languages 또는 navigator.language를 사용하여 사용자의 브라우저 언어 설정을 가져옵니다.
  3. 해외 사용자 판별:
    • 시간대와 언어 정보가 한국이 아닌 경우 해외 사용자로 간주합니다.
    • 두 가지 조건 모두를 만족하지 않을 때만 글로벌 오더를 로드하도록 설정하여 판별 정확도를 높입니다.
  4. 글로벌 오더 로드: 해외 사용자일 경우 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. 참고 자료