2013-02-21 28 views
0

我正在尝试使用PACKT发布出版的“PhoneGap Mobile Application Development Cookbook”学习phonegap。第2章讨论文件系统,这似乎给出了一些错误。我复制的示例代码和我得到以下错误:Phonegap 2.4.0 - NetworkStatus警报

enter image description here

“NetworkStatusxxxxxxxxxx”](每次数量是不同的)。 我一直在寻找解决方案几个小时,但没有成功,谁可以帮忙?!

我的代码:

!DOCTYPE html> 

文件下载

var downloadDirectory; 

document.addEventListener("deviceready", onDeviceReady, true); 

function onDeviceReady() { 
    window.requestFileSystem(
     LocalFileSystem.PERSISTENT, 
     0, 
     onFileSystemSuccess, 
     null 
    ); 

    x$('#download_btn').on('click', function(e) { 
     download(); 
    }); 
} 

function onFileSystemSuccess(fileSystem) { 
    fileSystem.root.getDirectory('my_downloads',{create:true}, 
     function(dir) { 
      downloadDirectory = dir; 
     },fail); 
} 

function fail(error) { 
    x$('#message').html('We encountered a problem: ' + error.code); 
} 

function download() { 
    var fileURL = document.getElementById('file_url').value; 
    var localFileName = getFilename(fileURL); 

    x$('#message').html('Downloading ' + localFileName); 

    var fileTransfer = new FileTransfer(); 
    fileTransfer.download(fileURL, downloadDirectory.fullPath + '/' + localFileName, 
     function(entry){ 
      x$('#message').html('Download complete. File saved to: ' + entry.fullPath); 
     }, 
     function(error){ 
      alert("Download error source " + error.source); 
     } 
    ); 
} 

// Obtain the filename 
function getFilename(url) { 
    if (url) { 
     var m = url.toString().match(/.*\/(.+?)\./); 
     if (m && m.length > 1) { 
     return m[1] + '.' + url.split('.').pop(); 
     } 
    } 
    return ""; 
} 
</script> 

<input type="text"  id="file_url"  value="http://blogs.adobe.com/adobeingovernment/files/2012/07/phonegap.jpg" /> 
<input type="button" id="download_btn" value="Download" /> 

<div id="message"></div> 

回答

1

如果在加载phonegap javascript文件时出现错误,通常会发生这种情况。有一件事情让我多次使用了错误的cordova.js文件 - 如果您要构建Android应用程序,则必须使用Android生成的cordova.js文件,这同样适用于iOS应用程序。

1

当您在cordova ios项目中使用android版本的cordova.js时,会发生这种情况。创建一个新的ios cordova项目,从创建的项目复制cordova-x.x.x.js,并将其放入现有项目中,替换现有的cordova-x.x.x.js文件。然后,从Xcode清理项目并重新构建。瞧!从现在开始没有警报。