Mnoho nových rozhraní API, které nám poskytují dodavatelé prohlížečů, je více zaměřeno na mobilní uživatele než na uživatele stolních počítačů. Jedním z těch jednoduchých API je Vibration API. Vibration API umožňuje vývojářům nasměrovat zařízení pomocí JavaScriptu tak, aby vibrovalo ve vzoru po danou dobu.
Zobrazit ukázkuPodpora rozhraní API pro detekci vibrací
Před použitím je vždy dobré zkontrolovat přítomnost podpory API; Zde je návod, jak můžete zjistit přítomnost rozhraní Vibration API:
// Standards ftw! var supportsVibrate = "vibrate" in navigator;
Vibration API sestává pouze z jedné metody poskytnuté window.navigator
objekt: vibrate
.
Základy rozhraní Vibration API
navigator.vibrate
funkce přijímá buď jediné číslo nebo pole čísel pro řadu vibrací. Při použití metody pole představují sudé indexy dobu trvání vibrace, liché indexy představují zpoždění před další vibrací.
// Vibrate once for one second navigator.vibrate(1000); // Vibrate multiple times for multiple durations // Vibrate for three seconds, wait two seconds, then vibrate for one second navigator.vibrate([3000, 2000, 1000]);
Chcete-li vibrace zastavit, když jsou aktivní, jednoduše předejte 0 nebo prázdné pole do navigator.vibrate
metoda:
// Either of these stop vibration navigator.vibrate(0); navigator.vibrate([]);
Uvědomte si, že vibrace ne opakovat, dokud se nezastaví s 0 nebo prázdným polem; vibrace jediného čísla se objeví jednou a pak ztichne, pole trvání vibrací běží a znovu ztichne.
Pokračující vibrace
Některé základní setInterval
a clearInterval
akce nám umožní vytvářet trvalé vibrace:
var vibrateInterval; // Starts vibration at passed in level function startVibrate(duration) { navigator.vibrate(duration); } // Stops vibration function stopVibrate() { // Clear interval and stop persistent vibrating if(vibrateInterval) clearInterval(vibrateInterval); navigator.vibrate(0); } // Start persistent vibration at given duration and interval // Assumes a number value is given function startPeristentVibrate(duration, interval) { vibrateInterval = setInterval(function() { startVibrate(duration); }, interval); }
Výše uvedený úryvek samozřejmě nebere v úvahu metodu vibrací pole; trvalé vibrace založené na poli bude vyžadovat výpočet součtu položek pole a vytvoření intervalu založeného na tomto čísle (pravděpodobně s dalším zpožděním).
Zobrazit ukázkuProč používat rozhraní Vibration API?
Toto API je jasně zaměřeno na mobilní zařízení. Vibration API by bylo dobré pro upozornění v mobilních webových aplikacích a bylo by obzvláště úžasné při použití ve hrách nebo aplikacích náročných na média. Představte si, že sledujete video na svém mobilním zařízení a během scény výbuchu se váš telefon trochu otřásl. Nebo hrát Bombermana a cítit jemné kopnutí, když blok exploduje!
Co si myslíte o rozhraní Vibration API: je okamžitě užitečné, nebo ještě ne zcela?
V době psaní tohoto článku je Firefox BETA pro Android jediným prohlížečem, který podporuje rozhraní Vibration API. WebKit před časem získal rozhraní Vibration API, ale při testování iOS Chrome a Safari, stejně jako Android Chrome a standardního prohlížeče, jsem nenašel funkční vibrační vlastnost. Opera zatím zřejmě nepodporuje vibrace.