私はjquerymobile/phonegap/cordova(2.0)を使ってモバイルアプリを開発しています。ストリーム(xml)からいくつかのファイルをダウンロードしてローカルに保存しようとしています。この動作は、(リップルを使用して)デバッグに使用するクロムブラウザにのみ表示されます。Phonegap Filetransfer.download Ripple/Chrome
クロームを開始するにはどうすればよいですか?ここに私達は行く:
/アプリケーション/グーグル\ Chrome.app/Contents/MacOS/Google \クローム--disable-ウェブセキュリティ--allow-ファイルアクセス-から-ファイル--allow-ファイル - アクセス
私は次のコードでいくつかの写真をダウンロードしようとした私のplistファイルもまた、アクセス*を持っていると私は私のconfig.xml
に<feature name="http://api.phonegap.com/1.0/file"/>
を追加しましたマックで開発しています:
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,
{},
{});
}
シミュレータ上で3210
が正常に動作しますが、クロームで、それが次のエラーで失敗します
我々が欠けているように見える
FileTransfer.download:ダイアログは、メッセージをポップアップ
いくつかのもの:(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
あなたはあなたが望むコールバックにjsonオブジェクトを渡すためにテキストエリアを埋めることができます実行する。
私はその定義されていないが、私は本当に私の問題は何かを把握することはできません。誰かが推測や似たような問題を抱えているなら、どんな提案もお願いします。
プラグインは使用できません。 OSと対話したい場合は、実際のデバイスを使用する必要があります。 (iOSシミュレータは非常にうまくいく) –
@ChristianKuetbachはい。しかし、ブラウザウィンドウで実際のデバイスをエミュレートしようとするChrome用の[Ripple](https://chrome.google.com/webstore/detail/ripple-emulator-beta/geelfhphabnejjddjjgghgpdnoc)プラグインを使用しています。 – krtek
私は知っていますが、キーは "実際のデバイスをエミュレートしようとしています"です。このエミュレータは、カスタムプラグインでは決して動作しません。ファイルシステムを使うためには、クロムブラウザをセキュリティポリシーを破棄して起動しなければならないと思う。私はエミュレータ(iOSエミュレータを期待して)を使用して諦め、実際の問題を隠し、エミュレータのみの問題を表示します。 –