7

jquerymobile/phonegap/cordova(2.0) を使用してモバイル アプリに取り組んでいます。ストリーム (xml) からいくつかのファイルをダウンロードしてローカルに保存しようとしています。この動作は、(リップルを使用して) デバッグに使用する 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,
    {},
    {});
}

シミュレーターでは正常に動作しますが、クロムでは次のエラーで失敗します:

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

次のメッセージが表示されたダイアログが表示されます。

FileTransfer.download

いくつか不足しているようです:(

テキストエリアに入力して、実行したいコールバックにjsonオブジェクトを渡すことができますが、ちょっとクールです。

未定義ですが、実際に何が問題なのかわかりません。誰かが推測または同様の問題を抱えている場合は、何か提案してください。

4

1 に答える 1

10

これは、Chrome の Ripple プラグインがこの機能を実装していないためです。実際の環境 (電話など) で動作します。

于 2013-01-02T14:25:23.147 に答える