device.platform return'设备未定义'关于cordova项目

device.platform return 'device is not defined' on cordova project

本文关键字:关于 cordova 项目 未定义 platform device return      更新时间:2023-09-26

我在运行我的cordova android应用程序时遇到了一个随机发生的问题。基本上,"设备"有时是空的,有时不是。我不知道为什么会发生这种情况,这是我代码的第一部分:

app.js

app = {
    // deviceready Event Handler
    onDeviceReady: function() {
        try
        {           
            var devicePlatform = device.platform;
            var deviceVersion = device.version;     
        }
        catch(e)
        {
            alert("Error: "+e)
        }
        ....
    }
}

index.html

....
    </div>
    <script src="cordova.js"></script>
    <script src="js/libs/openfb.js"></script>
    <script src="js/app.js"></script>
    <script>
        $(document).on("mobileinit", function() {
            $.mobile.ajaxEnabled = true;
            $.mobile.linkBindingEnabled = true;
            $.mobile.defaultPageTransition = "fade";
            $.mobile.phonegapNavigationEnabled = true;
            $.mobile.allowCrossDomainPages = true;   
        });
        // init application
        $(window).load(function() {
            $(document).bind('deviceready', app.onDeviceReady());   
        });
    </script>
    </body>
</html>

设备插件已经过时了,所以我获得了新版本0.3.0,但错误仍然存在。有什么提示吗?

你的应用程序应该在真实的手机上运行,而不是在模拟器上。

我认为您只在chrome上运行应用程序。

请尝试绑定侦听器

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    var element = document.getElementById('deviceProperties');
    element.innerHTML = 'Device Model: '    + device.model    + '<br />' +
                        'Device Cordova: '  + device.cordova  + '<br />' +
                        'Device Platform: ' + device.platform + '<br />' +
                        'Device UUID: '     + device.uuid     + '<br />' +
                        'Device Version: '  + device.version  + '<br />';
}

在PhoneGap API 查看更多信息

希望这能有所帮助!

干杯!