0

这是我的 downloader.js 文件内容:

function Downloader() {}

Downloader.prototype.downloadFile = function(fileUrl,dirName,fileName,overwrite,win,fail) {

    //Make params hash optional.
    if (!fail) win = params;
    PhoneGap.exec(win, fail, "Downloader", "downloadFile", [fileUrl, params]);
};

PhoneGap.addConstructor(function() {
    PhoneGap.addPlugin("downloader", new Downloader());
    PluginManager.addService("Downloader", "com.phonegap.plugins.downloader.Downloader");
});

我已将此集成到 android 项目中。但是当我运行该项目时,我得到了Uncaught ReferenceError: PhoneGap is not defined at file:///android_asset/www/js/downloader.js:10。谁能告诉可能是什么问题。

4

2 回答 2

5

将 cordova.js 文件放在 downloader.js 文件之前,它应该可以工作。

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="downloader.js"></script>
于 2012-07-06T13:19:02.810 回答
2

我遇到了同样的问题,正如 Zoltan 所说,不能保证在 deviceready 事件中加载cordova.js 文件。所以我也处理了 onload 事件(或使用 jquery $(document).ready())。确保两个事件都被触发,然后尝试获取 FileSystem。

于 2012-11-26T00:18:19.807 回答