1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (głosów: 2, średnia ocena: 5,00)
Loading ... Loading ...

Robotnicy sieciowi (web workers)

W rozdziale:

Robotnicy sieciowi


Robotnicy sieciowi (ang. web worker) to technologia umożliwiajca uruchamianie skryptów JavaScript w tle. Z grubsza mówiąc dzięki niej można uruchomić kilka działających równocześnie „wątków”. (Jeśli nie rozumiesz o co dokładnie chodzi, to porównaj to sobie ze swoim komputerem, w którym masz uruchomionych kilka programów na raz). Działające w tle „wątki” mogą wykonywać skomplikowane obliczenia, wykonywać żądania sieciowe albo korzystać z magazynu lokalnego, podczas gdy sama strona wykonuje polecenia użytkownika, takie jak przewijanie treści, obsługa kliknięć czy wpisywanie tekstu itp.

Obsługę robotników sieciowych sprawdza się przy użyciu techniki nr 1. Jeśli przeglądarka obsługuje API Web Worker, toglobalny obiekt window ma własność Worker. Jeśli przeglądarka nie obsługuje API Web Worker, to własność Worker jest niezdefiniowana.

function supports_web_workers() {
  return !!window.Worker;
}

Zamiast pisać tę funkcję własnoręcznie, do sprawdzania obsługi robotników sieciowych można użyć biblioteki Modernizr (w wersji od 1.1).

Sprawdzanie obsługi robotników sieciowych

if (Modernizr.webworkers) {
  // własność window.Worker jest dostępna!
} else {
  // brak standardowej obsługi robotników sieciowych :(
  // możesz spróbować użyć Gears albo innego zewnętrznego rozwiązania
}

Pamiętaj że w języku JavaScript wielkość liter ma znaczenie. Atrybut Modernizr nazywa się webworkers (same małe litery), natomiast obiekt DOM nazywa się window.Worker (słowo Worker jest napisane wielką literą).

W rozdziale:

Dodaj komentarz









Newsletter

Subskrybując nasz newsletter masz pewność, że nie ominie Cię żadna nowość w serwisie!