> 웹 프론트엔드 > JS 튜토리얼 > JavaScript를 사용하여 브라우저의 기본 언어를 어떻게 감지할 수 있습니까?

JavaScript를 사용하여 브라우저의 기본 언어를 어떻게 감지할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-12 19:20:10
원래의
189명이 탐색했습니다.

How Can I Detect a Browser's Preferred Language Using JavaScript?

브라우저 언어 기본 설정을 감지하는 JavaScript

JavaScript를 사용하여 브라우저의 기본 언어를 감지하는 것은 탐색기를 통해 직접 액세스할 수 없기 때문에 어려울 수 있습니다. 언어. 이는 브라우저 설정이 JavaScript를 통해 액세스할 수 없는 HTTP 'Accept-Language' 헤더에 영향을 미치기 때문입니다.

이 제한을 극복하려면 Google App Engine과 같은 타사 서비스를 사용하는 것이 해결 방법입니다. 작동 방식은 다음과 같습니다.

  1. Google App Engine 스크립트 만들기: https://ajaxhttpheaders.appspot.com에서 스크립트를 호스팅합니다. 이 스크립트는 JSONP를 통해 HTTP 요청 헤더를 반환합니다.
  2. AJAX 요청 만들기: jQuery 또는 유사한 라이브러리를 사용하여 Google App Engine 스크립트에 AJAX 요청을 만듭니다.
  3. 응답 구문 분석: 응답에는 'Accept-Language' 헤더가 포함됩니다. 그런 다음 구문 분석된 언어 값을 사용할 수 있습니다.

다음은 jQuery의 예제 코드입니다.

$.ajax({
    url: "http://ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) {
        language = headers['Accept-Language'];
        nowDoSomethingWithIt(language);
    }
});
로그인 후 복사

이 해킹은 백엔드가 없는 경우에만 권장됩니다.

더 편리한 솔루션을 위해 다음에서 제공되는 jQuery-Browser-Language 플러그인을 사용할 수 있습니다. https://github.com/dansingerman/jQuery-Browser-Language.

AppEngine에서 실행되는 코드는 다음과 같습니다.

class MainPage(webapp.RequestHandler):
    def get(self):
        headers = self.request.headers
        callback = self.request.get('callback')

        if callback:
          self.response.headers['Content-Type'] = 'application/javascript'
          self.response.out.write(callback + "(")
          self.response.out.write(headers)
          self.response.out.write(")")
        else:
          self.response.headers['Content-Type'] = 'text/plain'
          self.response.out.write("I need a callback=")
로그인 후 복사

코드는 https://에서도 오픈 소스로 제공됩니다. github.com/dansingerman/app-engine-headers.

위 내용은 JavaScript를 사용하여 브라우저의 기본 언어를 어떻게 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿