Tôi đang làm việc trên một ứng dụng di động sử dụng jquerymobile/phonegap/cordova (2.0). Tôi cố gắng tải xuống một số tệp từ luồng (xml) và lưu chúng cục bộ. Hành vi này chỉ xuất hiện trong trình duyệt chrome, mà tôi sử dụng để gỡ lỗi (với gợn).Phonegap Filetransfer.download Ripple/Chrome
Làm cách nào để bắt đầu chrome? Ở đây chúng tôi đi:
/Applications/Google \ Chrome.app/Contents/MacOS/Google \ Chrome --disable-web-security --allow-file-access-from-files --allow-file- truy cập
tôi đang phát triển tại Mac tập tin plist của tôi cũng còn có một truy cập * và tôi đã thêm <feature name="http://api.phonegap.com/1.0/file"/>
để config.xml tôi
tôi cố gắng để tải về một số hình ảnh với đoạn mã sau:
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,
{},
{});
}
On mô phỏng hoạt động tốt nhưng trong chrome nó không thành công với lỗi sau:
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
một hộp thoại hiện lên với thông điệp:
FileTransfer.download
Chúng tôi dường như mất tích một số nội dung: (
Điều gì là tuyệt vời dù bạn có thể điền vào vùng văn bản để chuyển đối tượng json tới cuộc gọi lại mà bạn muốn để thực hiện.
Tôi thấy không xác định của nó nhưng tôi không thể tìm ra những gì thực sự là vấn đề của tôi. Nếu bất cứ ai có một dự đoán hoặc một vấn đề tương tự xin vui lòng bất cứ đề nghị.
Bạn không thể sử dụng plugin. Nếu bạn muốn tương tác với hệ điều hành, bạn sẽ cần phải sử dụng một thiết bị thực. (Trình mô phỏng iOS hoạt động khá tốt) –
@ChristianKuetbach Có. Nhưng anh ấy sử dụng plugin [Ripple] (https://chrome.google.com/webstore/detail/ripple-emulator-beta/geelfhphabnejjhdalkjhgipohgpdnoc) cho Chrome cố gắng mô phỏng thiết bị thực trong cửa sổ trình duyệt. – krtek
Tôi biết, nhưng điều quan trọng là "cố gắng cạnh tranh với thiết bị thực". Trình mô phỏng này sẽ KHÔNG BAO GIỜ làm việc với các plugin tùy chỉnh. Tôi nghĩ rằng trình duyệt chrome phải được bắt đầu với chính sách bảo mật bị rớt để sử dụng hệ thống tệp. Tôi đã từ bỏ việc sử dụng trình mô phỏng (giả lập iOS giả lập), chúng ẩn các vấn đề thực và hiển thị các vấn đề chỉ trình giả lập. –