Vibrační API

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ázku

Podpora 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ázku

Proč 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.