2013-06-04 2 views
44

Khi thử nghiệm ứng dụng Phonegap, tôi nhận được ba cảnh báo sau đây và trình duyệt chỉ bị treo. Chạy ứng dụng từ máy chủ. Nhiều lần các cảnh báo này bật lên trước khi plugin Ripple có thể bắt đầu. Làm thế nào để loại bỏ chúng.Ứng dụng HTML Phonegap và các cảnh báo khác nhau treo trình duyệt

Alert 1:

gap:["Device","getDeviceInfo","Device818329805"] 

Alert 2:

gap:["NetworkStatus","getConnectionInfo","NetworkStatus818329806"] 

Alert 3:

gap:["App","show","App818329807"] 
+0

Tôi đang gặp vấn đề tương tự thử nghiệm ứng dụng của tôi với gợn. vấn đề xảy ra cho tôi ngay cả sau khi ứng dụng được tải .. và sự kiện như lỗi kích hoạt 'navigator.camera.getPicture' như' gap: ["Camera", "takePicture", "Camera634184847"] ' – Patrice

+1

Câu hỏi liên quan: http://stackoverflow.com/questions/23632909/cant-use-serve-with-cordova-phonegap-helloworld –

Trả lời

25

Những cảnh báo thường xuất hiện khi bạn có các tập tin cordova.js sai bao gồm. Có những cái khác nhau cho mỗi nền tảng. Hãy chắc chắn rằng bạn havn't ví dụ sao chép một android vào xây dựng ios của bạn.

+8

Tôi đã thực sự chạy nó cục bộ trong trình duyệt chứ không phải trên điện thoại. – lucuma

+2

Đó sẽ là nguyên nhân sau đó;) Trong trình duyệt, bạn chỉ có thể nhấp vào hủy trên 3 cửa sổ bật lên hoặc cách nhận xét ra tệp cordova.js trong khi thử nghiệm trên trình duyệt (chỉ cần nhớ bỏ ghi chú khi bạn triển khai thiết bị). Chỉnh sửa: chỉ cần nhận thấy bạn đề cập đến gợn (không chắc chắn làm thế nào tôi bị mất), tôi không chắc chắn làm thế nào nó sẽ ảnh hưởng đến gợn. – hyarion

+1

Vâng vấn đề là đôi khi chúng xuất hiện trước khi gợn đó là cực kỳ khó chịu. Có cách nào tốt hơn để thử nghiệm cục bộ các chức năng loại di động trong trình duyệt trước khi đặt nó trên thiết bị không? – lucuma

8

Bạn chỉ cần nhận xét ra dòng này trên cordova.js:

return prompt(argsJson, 'gap:'+JSON.stringify([service, action, callbackId]));

mà là trên dòng 4184 khi sử dụng PhoneGap 2.9.0-0 (Android)

Bỏ ghi chú trước khi triển khai đến thiết bị để sản xuất

+0

+1 - Điều này phù hợp với tôi bằng cách sử dụng 'Cordova 4.1.1', có 3 dấu nhắc' khác 'ẩn trong tệp mà tôi đã nhận xét, mọi thứ đang hoạt động Tuy nhiên, không có ai khôn ngoan hơn về lý do tại sao 'cordova.js' không cập nhật bằng nền tảng. –

29

Nếu bạn đang thử nghiệm ứng dụng của mình trong trình duyệt trên máy tính để bàn, bạn chỉ cần loại trừ tệp. Đối với Chrome:

<script type="text/javascript"> 
    if (!navigator.userAgent.toLowerCase().match('chrome')) { 
     document.write("<script src='phonegap.js'><\/script>"); 
    } 
</script> 

(Bằng cách này bạn không cần phải nhớ để bỏ ghi chú vào liên kết kịch bản cho quá trình xây dựng của bạn.)

+1

Cảm ơn bạn vì điều này. – theycallmemorty