3

iOSでPhoneGap2.2.0を使用しており、devicreadyイベントにバインドして、navigator.globalizationオブジェクトが存在するかどうかを確認しています。未定義になります。

私のコードは次のようになります:

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

function onDeviceReady()
{
    alert('deviceready');
    navigator.globalization.getLocaleName(function(d)
    {
        window.localStorage.setItem('localeLanguage', d.value);
        console.log('localeLanguage: is'+d.value);
    },
    function(error)
    {
        console.log('error getting locale language');
    });
}

alert('deviceready')決して発火しません。私はここで本当に途方に暮れています。スクリプトを次のように設定しています。

<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript" src="cordova-2.2.0.js"></script>
<script type="text/javascript">
    //alert(typeof navigator.globalization);
</script>
<script src="js/jquery.ui.map.full.min.js"></script>
<script src="js/jquery.ui.map.services.min.js"></script>
<script src="js/jquery.i18n.min.js"></script>
<script src="js/languages.js"></script>
<script src="js/oakglobalization.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
    app.initialize();
</script>
<script type="text/javascript" src="js/custom.js"></script>

これは今のショートッパーなので、どんなアイデアも役に立ちます。

4

2 に答える 2

0

試す :

$(document).ready(function() {  
    document.addEventListener("deviceready", onDeviceReady, false); 
});

イベントリスナーを追加します。

また、コルドバのバージョンを更新してみてください。現在のバージョンは 2.6.0 です。

もう 1 つのポイント: phonegap では、ネイティブの JavaScript アラートの代わりに Navigator.notification.alert メソッドを使用します。詳細はこちら

お役に立てれば !さよなら !

于 2013-04-30T15:42:57.277 に答える
0

解決したかどうかはわかりませんが、少なくとも navigator.globalization を使用する私 (PG 3.3.0) では、コルドバ プラグインをインストールし、それに応じて XML を変更する必要がありました。

command-line> cordova plugin add org.apache.cordova.globalization
config.xml>
    <feature name="Globalization">
        <param name="ios-package" value="CDVGlobalization" />
    </feature>

その点については、実際のiOS xcodeエミュレーターでのみブラウザーエミュレーター(つまり、 ripple )で機能しませんでした...念のためプロジェクトをバックアップしてください;)

于 2014-03-16T20:42:00.633 に答える