Die Erkennung der Browser-Sprachpräferenz mit JavaScript stellt Herausforderungen dar, insbesondere bei Einstellungen, die in Internet Explorer und Firefox konfiguriert sind. Während Browser wie Chrome und Safari über Eigenschaften wie navigator.sprache und navigator.userLanguage verfügen, die Zugriff auf Sprachinformationen ermöglichen, spiegeln diese Eigenschaften häufig nicht die in bestimmten Browsermenüs festgelegten Einstellungen wider.
Das Hauptproblem besteht darin, dass die Browsereinstellungen keinen direkten Einfluss auf die über JavaScript zugängliche Eigenschaft navigator.sprache haben. Stattdessen wirken sie sich auf den HTTP-Accept-Language-Header aus. Leider ist dieser Header für JavaScript nicht verfügbar, was Programmierer in ein Dilemma bringt.
Um diese Einschränkung zu umgehen, gibt es eine Problemumgehung mit einem Google App Engine-Skript (http:/ /ajaxhttpheaders.appspot.com) wurde entwickelt. Dieses Skript ruft HTTP-Anforderungsheader über JSONP ab und gibt den Headerwert „Accept-Language“ zurück.
// jQuery example $.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
Der Einfachheit halber ein jQuery-Plugin, das umschließt Diese Funktionalität ist auf GitHub verfügbar: https://github.com/dansingerman/jQuery-Browser-Language
Der folgende Code ist die Kernlogik, die auf AppEngine ausgeführt wird:
class MainPage(webapp.RequestHandler): def get(self): headers = self.request.headers callback = self.request.get('callback')
Das obige ist der detaillierte Inhalt vonWie kann JavaScript die Spracheinstellungen des Benutzerbrowsers genau erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!