我正在使用 jquerymobile/phonegap/cordova(2.0) 开发移动应用程序。我尝试从流(xml)中下载一些文件并将它们存储在本地。此行为仅出现在我用于调试(带有波纹)的 chrome 浏览器中。
如何启动 chrome ?开始了 :
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --allow-file-access-from-files --allow-file-access
我在 Mac 上开发我的 plist 文件也有一个访问权限 * 我添加<feature name="http://api.phonegap.com/1.0/file"/>
到我的 config.xml
我尝试使用以下代码下载一些图片:
function downloadImage(url,filename,use){
if(use==="thumb") {
filename = filename + ".png";
download(url, filename);
}return filename; }
function download(url, filename) {
//writeLog(window.appRootDir.fullPath);
ft = new FileTransfer();
ft.download(
url,
window.appRootDir.fullPath + "/" + filename,
{},
{});
}
在模拟器上工作正常,但在 chrome 中它失败并出现以下错误:
TypeError
ripple.js:477
TypeError: Cannot call method 'download' of undefined
at n.exports.exec (chrome-extension://geelfhphabnejjhdalkjhgipohgpdnoc/ripple.js:477:26724)
at FileTransfer.download (http://localhost/~binderf/www/a4/cordova-2.2.0.js:2753:5)
at download (http://localhost/~binderf/www/a4/js/index.js:194:5)
at downloadImage (http://localhost/~binderf/www/a4/js/index.js:182:9)
at Element.<anonymous> (http://localhost/~binderf/www/a4/js/index.js:153:51)
at Function.p.extend.each (http://localhost/~binderf/www/a4/js/jquery-1.8.2.min.js:2:14477)
at p.fn.p.each (http://localhost/~binderf/www/a4/js/jquery-1.8.2.min.js:2:11151)
at Element.<anonymous> (http://localhost/~binderf/www/a4/js/index.js:145:57)
at Function.p.extend.each (http://localhost/~binderf/www/a4/js/jquery-1.8.2.min.js:2:14477)
at p.fn.p.each (http://localhost/~binderf/www/a4/js/jquery-1.8.2.min.js:2:11151) ripple.js:477
FileTransfer
FileTransfer ripple.js:483
download ripple.js:483
missing exec:FileTransfer.download
弹出一个对话框,其中包含以下消息:
文件传输.download
我们似乎遗漏了一些东西:(
虽然您可以填写 textarea 以将 json 对象传递给您要执行的回调,但这有点酷。
我看到它未定义,但我无法弄清楚我真正的问题是什么。如果有人有猜测或类似问题,请提出任何建议。