Pracuję nad aplikacją mobilną za pomocą jquerymobile/phonegap/cordova (2.0). Próbuję pobrać niektóre pliki ze strumienia (xml) i przechowywać je lokalnie. Takie zachowanie pojawia się tylko w przeglądarce Chrome, której używam do debugowania (z marszczeniem).Phonegap Filetransfer.download Ripple/Chrome
Jak uruchomić chrom? Tutaj mamy:
/Aplikacje/Google \ Chrome.app/Contents/MacOS/Google \ Chrome - możliwość wyłączenia bezpieczeństwa w Internecie - łatwy dostęp do plików z plików dostęp
Zajmuję na Mac mój plik plist posiada również dostęp * i dodałam do mojego <feature name="http://api.phonegap.com/1.0/file"/>
config.xml
próbowałem ściągnąć kilka zdjęć z następującego kodu:
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,
{},
{});
}
Na symulatorze działa dobrze, ale w chrome nie powiedzie się z następującym błędem:
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
okno dialogowe pojawił się z komunikatem:
FileTransfer.download
Wydaje się, że brakuje kilka rzeczy: (
Co jest fajne, chociaż możesz wypełnić tekst, aby przekazać obiekt Json do żądanego wywołania zwrotnego wykonać.
Widzę jego niezdefiniowane, ale nie mogę zrozumieć, co jest naprawdę mój problem. Jeśli ktoś ma zgadywanie lub podobny problem, proszę o sugestie.
Nie można używać wtyczek. Jeśli chcesz współpracować z systemem operacyjnym, musisz użyć prawdziwego urządzenia. (Symulator iOS działa całkiem nieźle) –
@ChristianKuetbach Tak. Ale używa wtyczki [Ripple] (https://chrome.google.com/webstore/docail/ripple-emulator-beta/geelfhphabnejjhdalkjhgipohgpdnoc) dla przeglądarki Chrome, która próbuje emulować prawdziwe urządzenie w oknie przeglądarki. – krtek
Wiem, ale kluczem jest "próbuje emulować prawdziwe urządzenie". Ten emulator NIGDY nie będzie działał z niestandardowymi wtyczkami. Myślę, że przeglądarka chrome musi być uruchomiona ze zrzuconą zasadą bezpieczeństwa, aby używać systemów plików. Zrezygnowałem z używania emulatorów (oczekuję emulatora iOS), ukrywają prawdziwe problemy i pokazują tylko problemy związane z emulatorem. –