Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 动态包含cordova.js文件在Windows Phone 7中不起作用?_Jquery_Android_Windows Phone 7_Cordova - Fatal编程技术网

Jquery 动态包含cordova.js文件在Windows Phone 7中不起作用?

Jquery 动态包含cordova.js文件在Windows Phone 7中不起作用?,jquery,android,windows-phone-7,cordova,Jquery,Android,Windows Phone 7,Cordova,我正在开发一个支持Android、黑莓、iphone和WindowsPhone7的PhoneGap应用程序互联网连接检查不能单独在windows phone 7中运行。每个平台都有单独的cordova.js文件,因此我将这些文件保存在不同的文件夹中,并具有相应的名称,如android、iphone等。我根据应用程序加载的设备类型动态加载js文件,假设应用程序运行在Android上,我正在加载Android/cordova.js。它在除Windows Phone之外的所有平台上都能正常工作如果我直

我正在开发一个支持Android、黑莓、iphone和WindowsPhone7的PhoneGap应用程序互联网连接检查不能单独在windows phone 7中运行。每个平台都有单独的cordova.js文件,因此我将这些文件保存在不同的文件夹中,并具有相应的名称,如android、iphone等。我根据应用程序加载的设备类型动态加载js文件,假设应用程序运行在Android上,我正在加载Android/cordova.js。它在除Windows Phone之外的所有平台上都能正常工作如果我直接在head标签中加载js文件,则连接检查在windows phone 7中工作,其中动态加载js文件不起作用。我将给出下面的代码片段(文件路径正确,我已经检查过了)


功能测试(){
$('head')。追加('');
}
test();
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
函数ondevicerady(){
离线模式测试();
}           
函数offLineModeTest(){
试一试{
var networkState=navigator.network.connection.type;
if(Connection.NONE==networkState | | Connection.UNKNOWN==networkState){
//做点什么。。。。。。
}
}捕捉(错误){
}
}

这是由于在IEMobile中以这种方式加载javascript时,javascript不会执行

对此没有修复,但请等待操作系统更新或Cordova拥有使用相同js文件的所有版本


作为替代方案,您可以尝试始终包含hte WP7版本,然后将其删除并在其他平台上加载相应的版本。

对于Cordova的建议是始终将其直接加载到HEAD标记中,并将其作为加载的第一个脚本。如果不这样做,您将面临事件无法正确触发的风险,因为它需要连接到特定的加载事件本身

为什么不构建项目结构,以便可以使用相对路径静态加载特定于平台的JS文件,而不是动态加载?这就是我在Android和iOS应用程序中使用的方法

编辑


显示JS文件的文件结构和相对包含内容。

Hi!我遇到了同样的问题。我们的应用程序有一个共同的www基础,并在两个平台上同时开发。现在我们尝试动态地包含正确的cordova.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>