我正在开发一个支持Android,BlackBerry,iphone和Windows Phone 7的电话缺口应用程序。仅在Windows Phone 7中无法正常进行Internet连接检查。每个平台都有单独的cordova.js文件,因此我将这些文件保存在具有相应名称(例如android,iphone等)的不同文件夹中。我根据要加载应用程序的设备类型动态加载js文件,例如该应用程序正在Android中运行我正在加载android / cordova.js。在Windows Phone以外的所有平台上,它都可以正常工作。如果我直接在head标签中加载js文件,则连接检查在Windows Phone 7中有效,因为动态加载js文件不起作用。我将在下面给出代码片段(文件路径正确,我已经检查过了)

<script type="text/javascript" charset="utf-8">
function test() {
    $('head').append('<script type="text/javascript" src="' + filePath + '"' + '></' + 'script>');
}
test();
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
    offLineModeTest();
}
function offLineModeTest(){
    try {
        var networkState = navigator.network.connection.type;
        if (Connection.NONE == networkState || Connection.UNKNOWN == networkState) {
            //do something......
        }
    }catch(err){

    }
}
</script>

最佳答案

这是由于在IEMobile中以这种方式加载javascript时不执行javascript的方式造成的。

无法解决此问题,但请等待操作系统更新或等到Cordova使用相同的js文件的所有版本为止。

或者,您可以尝试始终包含WP7版本,然后将其删除并在其他平台上安装相应的版本。

关于jquery - 动态包含cordova.js文件在Windows Phone 7中不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10827830/

10-12 07:29