未捕获的ReferenceError:未在文件中定义PhoneGap

时间:2012-07-06 13:00:28

标签: android cordova

这是我的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。任何人都可以告诉可能是什么问题。

2 个答案:

答案 0 :(得分:5)

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

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="downloader.js"></script>

答案 1 :(得分:2)

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