Sedang mempunyai masalah bagaimana caranya mendeteksi sesi yang sedang idle di aplikasi yang menggunakan Dojo ? Sebenarnya Dojo juga sudah mempunyai sebuah plugin yaitu dojox.analytics.plugins.idle
yang terdapat pada package dojox.analytics. Sedangkan untuk cara penggunan-nya adalah kita bisa menambahkan parameter idleTime
dan analyticsUrl
pada dojoConfig
yang kurang lebih seperti berikut :
1 2 3 4 5 6 7 8 9 10 |
|
Selain itu, import-lah juga package dojox.analytics
dan dojox.analytics.plugins.idle
supaya plugin idle dapat digunakan. Dengan kode seperti diatas, harusnya jika aplikasi kita tidak melakukan apapun selama 3 detik maka Dojo akan mengirimkan POST
request ke alamat http://localhost:10000/monitor/idle
. Nah yang jadi masalah disini adalah, sekarang bagaimana caranya menghandle jika di sisi browser sudah melewati batasan waktu 3 detik apa yang harus dilakukan di sisi client ??? :D (Karena dari sisi aplikasi, aplikasi hanya akan mengirimkan POST
request ke server dengan informasi idle
saja)
Karena kurang puas dengan library bawaan Dojo secara tidak sengaja saya menemukan script yang cara penggunaan-nya lebih sederhana dari bawaan Dojo diatas, yang kode-nya kurang lebih seperti dibawah ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
|
Sedangkan cara penggunaan-nya sangat mudah sekali seperti dapat kita lihat pada potongan kode dibawah ini yang akan mendeteksi proses idle selama 30 detik tanpa ada pergerakan dilayar :
1 2 |
|
Dan langkah terakhir adalah, kita dapat menangkap aksi ketika proses idle terjadi dengan menggunakan dojo.subscribe
seperti dibawah ini :
1 2 3 4 5 6 |
|
Lebih mudah dan sederhana bukan ? Seluruh kode IdleListener
diatas tadi ditulis oleh Sean O' Shea dan dijelaskan pada artikel pada blognya yang berjudul Idle Handler with Dojo :)
Bagaimana guys ?? Ada yang sudah menggunakan dojox.analytics.plugins.idle
di aplikasi-nya ? Jika sudah, bisa di sharing cara penggunaan-nya bagaimana ? :)