3

我在 iOS 上使用 PhoneGap 2.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。

另一点:使用 phonegap,使用 Navigator.notification.alert 方法而不是本机 javascript 警报。更多信息在这里

希望这可以帮助 !再见 !

于 2013-04-30T15:42:57.277 回答
0

不确定你是否解决了它,但至少对我来说(PG 3.3.0)使用 navigator.globalization 我必须安装 cordova 插件并相应地更改 XML。

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

在那一点上,它仅在真正的 iOS xcode 模拟器上不适用于浏览器模拟器(即:涟漪)...备份您的项目以防万一;)

于 2014-03-16T20:42:00.633 回答