>웹 프론트엔드 >JS 튜토리얼 >JavaScript는 어떻게 사용자 브라우저 언어 기본 설정을 정확하게 감지할 수 있습니까?

JavaScript는 어떻게 사용자 브라우저 언어 기본 설정을 정확하게 감지할 수 있습니까?

DDD
DDD원래의
2024-12-15 00:49:16762검색

How Can JavaScript Accurately Detect User Browser Language Preferences?

브라우저 언어 기본 설정을 감지하기 위한 JavaScript 접근 방식

JavaScript로 브라우저 언어 기본 설정을 감지하는 것은 특히 Internet Explorer 및 Firefox에 구성된 설정의 경우 문제가 됩니다. Chrome 및 Safari와 같은 브라우저에는 언어 정보에 대한 액세스를 제공하는 navigator.언어 및 navigator.userLanguage와 같은 속성이 있지만 이러한 속성은 특정 브라우저 메뉴에 설정된 기본 설정을 반영하지 못하는 경우가 많습니다.

브라우저 설정의 제한 사항

주요 문제는 브라우저 설정이 JavaScript를 통해 액세스할 수 있는 navigator.언어 속성에 직접적인 영향을 미치지 않는다는 것입니다. 대신 HTTP Accept-Language 헤더에 영향을 미칩니다. 안타깝게도 이 헤더는 JavaScript에서 사용할 수 없으므로 프로그래머는 난처한 상황에 처하게 됩니다.

타사 스크립트를 사용한 해결 방법

이 제한을 피하려면 Google App Engine 스크립트(http:/ /ajaxhttpheaders.appspot.com)이 고안되었습니다. 이 스크립트는 JSONP를 통해 HTTP 요청 헤더를 검색하고 Accept-Language 헤더 값을 반환합니다.

사용 예

// jQuery example
$.ajax({ 
    url: "http://ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) {
        language = headers['Accept-Language'];
        nowDoSomethingWithIt(language);
    }
});

jQuery Plugin

편의를 위해 이 기능은 GitHub에서 사용할 수 있습니다. https://github.com/dansingerman/jQuery-Browser-Language

App Engine 코드

다음 코드는 AppEngine에서 실행되는 핵심 로직입니다.

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.