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

downloader.jsファイルの前にcordova.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 に答える