PhoneGap应用程序中未定义FileTransfer错误

时间:2014-06-29 17:26:54

标签: javascript android jquery-mobile cordova

我在使用cordova的FileTransfer功能时遇到了一些奇怪的问题,并且认为与jQueryMobile框架有关。

我正在使用PhoneGap 2.9.0和jQueryMobile 1.4。我希望应用程序在用户按下按钮时下载文件,但是我收到错误“FileTransfer未定义”。调用下载文件的功能如下:

$(document).on( "pageinit", "#download-page", function( e ) {        
    $("#downloadBtn").click(BeginDownload);
});

function BeginDownload() 
{    
    $.mobile.loading( 'show', {
        text: 'Downloading file',
        textVisible: true,
        theme: 'a',
        html: ""
    });    

var ft = new FileTransfer();
ft.download(
    "http://mydomain.com/myfile.mp3",
    DownloadOK, DownloadKO);    

}

但是如果我从deviceready事件中调用函数BeginDownload,一切正常并且文件被下载:

document.addEventListener("deviceready", init, false);
function init()
{
    BeginDownload();
}

问题是下载文件的按钮不在主页面中。它位于用户必须导航到的另一个页面中,因此当deviceready事件被触发时,该按钮不存在,我无法绑定事件监听器。

我做错了什么?如何从不是主页的页面下载文件?

感谢。

0 个答案:

没有答案