Mengenal HTML5 Vibration API untuk Membuat Getaran di HP
Artikel kali ini terinspirasi dari pembicaraan teman-teman di grup Pojok Programmer tentang link download palsu yang mengarahkan ke link iklan.
Sebagian halaman web menggunakan getaran untuk mengambil perhatian dari pengunjungnya, terutama halaman web yang penuh dengan iklan.
Membaca komentar-komentar mereka membuat saya tertarik ingin tahu cara membuat getaran di web.
Langsung saja saya menuju ke Google dan memasukkan kata kunci “js vibrate phone” dan hasilnya ternyata menggunakan HTML5 Vibration API.
Apa itu HTML5 Vibration API?
HTML5 Vibration API adalah API (Application Programming Interface) untuk membuat getaran pada web yang bertujuan memberikan umpan balik pada kejadian tertentu.
Menurut penjelasan MDN (Mozilla Developer Network) getaran itu sendiri didefinisikan sebagai pola dari gelombang pulsa on-off yang memiliki panjang dalam bentuk integer. Panjang gelombang tersebut menentukan lama getarannya.
Pada contoh gelombang pulsa di atas, getaran akan mulai (on) selama 200 ms
(milidetik).
Setelah itu diam selama 250 ms
, kemudian lanjut lagi selama 1000 ms
atau 1
detik.
Cara Menggunakan HTML5 Vibration API
HTML5 Vibration API menyediakan fungsi vibrate()
untuk membuat getaran.
Bentuk sintaksnya seperti ini:
window.navigator.vibrate(pola);
Nilai parameter pola
dapat kita isi dengan nilai panjang getarannya.
Misalnya kita ingin membuat getaran selama 1
detik:
window.navigator.vibrate(1000);
Lalu bagaimana kalau membuat lebih dari satu kali getaran?
Gampang!
Kita tinggal membuat pola dari pulsa getarannya.
window.navigator.vibrate([1000, 500, 1000]);
Artinya gelombang akan dimulai selama 1000 ms
(1 detik), kemudian berhenti
selama 500 ms
. Setelah itu bergetar lagi selama 1000 ms
.
Untuk menghentikan getaran, kita bisa memberikan nilai nol (0
) kepada
fungsi vibrate()
.
window.navigator.vibrate(0);
Oke paham! Cukup sudah teorinya.
Mari kita bereksperimen…
Silakan buat file HTML baru, dan simpan di direktori htdocs
atau /var/www/html
.
Kemudian isi dengan kode ini:
<!DOCTYPE html>
<html>
<head>
<title>Tutorial HTML5 Vibration API</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript">
// fungsi ini akan kita panggil saat tombol diklik
function buatGetaran(pola){
var getaran = window.navigator.vibrate(pola);
// tampilkan hasilnya ke console
// kalau true berarti browser mendukung untuk membuat getaran
// tapi kalau false browser tidak mendukung
console.log(getaran);
}
</script>
</head>
<body>
<p>Coba klik tombol berikut:</p>
<button onclick="buatGetaran(1000)">Bergetar!!!</button>
<button onclick="buatGetaran([1000, 500, 1000])">Bergetar 2x!!!</button>
<button onclick="buatGetaran([200, 500, 300, 100, 400])">Bergetar 3x!!!</button>
</body>
</html>
Kenapa harus simpan di htdocs
, kan gak ada PHP-nya?
Karena nanti agar bisa kita coba melalui HP.
Percobaan di browser Desktop
Sebelum mencoba di HP, kita coba dulu di browser desktop (menggunakan google chrome).
Jangan lupa sambil membuka console javascript pada inspect element.
Hasilnya true
, berarti browser kita mendukung untuk membuat
getaran.
Tapi kok tidak terjadi getaran?
Ya iya lah, perangkat keras (hardware) komputer atau laptopnya tidak mendukung. 😄
Percobaan di Handphone
Percobaan saya lakukan dengan tethering WiFi dari HP ke Laptop, bisa juga sebaliknya.
Laptop sebagai server web, dan HP sebagai client atau pengunjung web. Berarti kita harus tahu IP dari laptopnya, barulah kita buka melalui browser.
Coba klik tombolnya!
Live Demo bisa dicek di link ini: https://goo.gl/8SPWt8 atau scan QR Code berikut:
Apakah terjadi getaran atau tidak?
Kalau tidak, berarti browser-nya tidak mendukung. Coba gunakan Google Chrome versi terbaru.
Berikut ini daftar versi browser yang mendukung:
Sumber: developer.mozilla.org
Ide Eksperimen Selanjutnya
- Buat getaran kalau gagal login.
- Integrasikan dengan GPS, misal buat getaran saat berada di lokasi tertentu.
- Buat getaran berdasarkan gelombang audio.
- Terapkan di Game, misal buat getaran saat terjadi benturan dalam Game.
Ada ide lagi?
Tambahkan di komentar!
Akhir Kata…
Menyenangkan bukan bermain HTML5 Vibration API…😄 Selanjutnya silakan lakukan eksperimen sendiri yang lebih kreatif dan keren.
Terima kasih sudah menyimak artikel ini sampai akhir.
Referensi:
- Mozilla Developer Network — Vibration API
- W3.org — Vibration API (Second Edition)