2013-02-21 70 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清理項目並重新構建。瞧!從現在開始沒有警報。