0

html5/JqueryMobile/Phonegap アプリを開発しています。特定の html にリダイレクトするには、デバイスの言語を検出する必要があります。Phonegap のnavigator.globalization.getPreferredLanguage. iOS デバイスでは正常に動作します。

以下のコードは、言語「onDeviceReady」を検出し、リダイレクトを実行します。このコードは iOS と Android で共通のはずですが、Android デバイスで試してみるとうまくいきません。画面がフリーズします。何が原因でしょうか?

<!DOCTYPE HTML>
<html>
<head>
    <title>Language</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script>
    <script type="text/javascript" charset="utf-8">


        document.addEventListener("deviceready", onDeviceReady, false);

        function onDeviceReady() {

            navigator.globalization.getPreferredLanguage(
                                                         function (language)
                                                         {

                                                         if(language.value == "it")
                                                         {window.location.replace("index_it.html");}
                                                         else if (language.value == "ar")
                                                         {window.location.replace("index_ar.html");}
                                                         else 
                                                         {window.location.replace("index_en.html");}},
                                                         function ()
                                                         {
                                                         alert('Error getting language\n');
                                                         }
                                                         );
        }


        </script>
</head>
<body>
</body>
</html>
4

1 に答える 1

0

ここでの問題は、Android から受信した言語の形式が異なることです。たとえば、コード ru のロシア語の代わりに、русский が返されます。

于 2013-09-16T08:21:09.013 に答える