Apa cara yang benar (sampai saat ini) untuk menggunakan JQuery Mobile dan Phonegap bersama?
Kedua kerangka kerja perlu dimuat sebelum dapat digunakan. Bagaimana saya bisa yakin bahwa keduanya dimuat sebelum saya dapat menggunakannya?
Apa cara yang benar (sampai saat ini) untuk menggunakan JQuery Mobile dan Phonegap bersama?
Kedua kerangka kerja perlu dimuat sebelum dapat digunakan. Bagaimana saya bisa yakin bahwa keduanya dimuat sebelum saya dapat menggunakannya?
ondeviceReady
acara dipicu dari kode JQM Anda ...Jawaban:
Anda dapat menggunakan fitur ditangguhkan dari JQuery.
sumber
cordova.js
? Apakah harus dimuat sebelum atau sesudah JQM?Begini cara kerjanya untuk saya, berdasarkan contoh di atas
sumber
Untuk menggunakan phonegap bersama dengan jquery mobile, Anda perlu menggunakannya seperti ini
sumber
Seperti yang disarankan banyak orang, menggunakan deferred adalah pilihan yang baik selama Anda tidak peduli dengan urutan apa
deviceready
dan apa yangmobileinit
terjadi. Namun dalam kasus saya, saya memerlukan beberapapageshow
peristiwa ketika aplikasi pertama kali dimuat danmobileinit
dan dengan ekstensi peristiwapageshow
/pagebeforeshow
/ dll. semua menembak sebelumnyadeviceready
selesai, jadi saya tidak bisa mengikat mereka dengan benar menggunakan penangguhan pada mereka. Kondisi balapan ini bukanlah hal yang baik.Yang perlu saya lakukan adalah memastikan 'mobileinit' tidak berlangsung sampai '
deviceready
' sudah dipecat. Karenamobileinit
langsung menyala saat Anda memuat JQM yang saya pilih untuk digunakanjQuery.getScript
untuk memuatnya SETELAHdeviceready
sudah selesai.Alasan saya menyembunyikan badan adalah karena efek samping dari metode ini adalah setengah detik visibilitas dokumen HTML asli sebelum jquery.mobile dimuat. Dalam hal ini menyembunyikan setengah detik tambahan dari ruang kosong lebih disukai daripada melihat dokumen tanpa gaya.
sumber
index.html
<script>
tag.Saya percaya bahwa tidak perlu menggunakan fitur deferred. (Mungkin ini tidak diperlukan dengan versi phonegap yang lebih baru?) Saya memiliki ini di kepala file index.html saya dan semuanya berfungsi dengan baik. Menurut saya urutan termasuk jquery, phonegap dan jquery mobile itu penting.
sumber
ini pekerjaan untukku. berdasarkan dhaval, ini contoh ketika saya belajar menggunakan sqlite
sumber
Untuk membangun jawaban @ Jeffrey, saya menemukan cara yang jauh lebih bersih yang menyembunyikan markup HTML sampai JQM selesai memproses halaman dan merender elemen Halaman pertama, karena saya telah memperhatikan bahwa 1/2 detik flicker dari markup kosong sebelum JQM merender.
Anda hanya perlu menyembunyikan semua markup dengan css ... PageShow () oleh JQM akan mengalihkan visibilitas untuk Anda.
sumber
Berikut ini bekerja untuk saya di PG 2.3 dan JQM 1.2, termasuk. Plugin Facebook Connect:
sumber
Memuat PhoneGap sedikit berbeda dengan memuat jQuery. jQuery bekerja lebih sebagai pustaka utilitas sehingga Anda memasukkannya dan tersedia untuk digunakan segera. Di sisi lain, PhoneGap memerlukan dukungan dari kode asli untuk inisialisasi yang tepat sehingga tidak siap digunakan segera setelah disertakan dalam halaman.
Phonegap menyarankan untuk mendaftar dan menunggu
deviceready
acara mengeksekusi kode khusus asli apa pun.Untuk info lebih lanjut, periksa dok
sumber
#form
adalah halaman pertama maka Anda tidak akan menerimapageinit
panggilan balik karena sudah terlambat