Tutorial JS

JS RUMAH Pengenalan JS JS Dimana Keluaran JS Pernyataan JS Sintaks JS Komentar JS Variabel JS JS Let JS Const Operator JS JS Aritmatika Tugas JS Tipe Data JS Fungsi JS Objek JS Acara JS String JS Metode String JS Pencarian String JS Template String JS Nomor JS Metode Nomor JS JS Array Metode Array JS Sortir Array JS Iterasi Array JS JS Array Const Tanggal JS Format Tanggal JS Metode Dapatkan Tanggal JS Metode Penetapan Tanggal JS JS Matematika JS Acak JS Boolean Perbandingan JS Ketentuan JS Beralih JS JS Loop Untuk JS Loop Untuk Masuk JS Loop Untuk Of JS Loop Sementara Istirahat JS JS Iterable JS Set Peta JS Tipe JS Konversi Tipe JS JS Bitwise JS RegExp Kesalahan JS Lingkup JS Pengangkatan JS Mode Ketat JS JS Kata Kunci ini Fungsi Panah JS Kelas JS JS JSON Debug JS Panduan Gaya JS Praktik Terbaik JS Kesalahan JS Kinerja JS Kata-kata Cadangan JS

Versi JS

Versi JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Tepi Sejarah JS

Objek JS

Definisi Objek Properti Objek Metode Objek Tampilan Objek Aksesor Objek Konstruktor Objek Prototipe Objek Obyek Iterable Set Objek Peta Objek Referensi Objek

Fungsi JS

Definisi Fungsi Parameter Fungsi Panggilan Fungsi Panggilan Fungsi Fungsi Terapkan Penutupan Fungsi

Kelas JS

Perkenalan Kelas Warisan Kelas Kelas Statis

JS Asinkron

Panggilan Balik JS JS Asinkron JS Janji JS Async/Menunggu

JS HTML DOM

Pengenalan DOM Metode DOM Dokumen DOM Elemen DOM HTML DOM Formulir DOM CSS DOM Animasi DOM Acara DOM Pendengar Acara DOM Navigasi DOM Node DOM Koleksi DOM Daftar Node DOM

JS Browser BOM

Jendela JS Layar JS Lokasi JS Sejarah JS JS Navigator Peringatan Munculan JS Waktu JS JS Cookies

JS Web API

Pengantar API Web API Formulir Web API Riwayat Web API Penyimpanan Web API Pekerja Web API Pengambilan Web API Geolokasi Web

JS AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

JS JSON

Perkenalan JSON Sintaks JSON JSON vs XML Tipe Data JSON Penguraian JSON Stringify JSON Objek JSON Array JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Pemilih jQuery jQuery HTML jQuery CSS jQuery DOM

Grafik JS

Grafik JS JS Kanvas JS Plotly JS Chart.js Bagan Google JS JS D3.js

Contoh JS

Contoh JS JS HTML DOM Masukan HTML JS Objek HTML JS Acara HTML JS JS Browser Editor JS Latihan JS kuis JS Sertifikat JS

Referensi JS

Objek JavaScript Objek DOM HTML


API Pekerja Web


Pekerja web adalah JavaScript yang berjalan di latar belakang, tanpa memengaruhi kinerja halaman.


Apa itu Pekerja Web?

Saat menjalankan skrip di halaman HTML, halaman menjadi tidak responsif hingga skrip selesai.

Pekerja web adalah JavaScript yang berjalan di latar belakang, terlepas dari skrip lain, tanpa memengaruhi kinerja halaman. Anda dapat terus melakukan apa pun yang Anda inginkan: mengklik, memilih sesuatu, dll., saat pekerja web berjalan di latar belakang.

Dukungan Peramban

Angka-angka dalam tabel menentukan versi browser pertama yang sepenuhnya mendukung Pekerja Web:

Chrome 4 IE 10 Firefox 3.5 Safari 4 Opera 11.5
Jan 2010 Sep 2012 Jun 2009 Jun 2009 Jun 2011

Contoh Pekerja Web

Contoh di bawah ini membuat pekerja web sederhana yang menghitung angka di latar belakang:

Contoh

Count numbers:


Periksa Dukungan Pekerja Web

Sebelum membuat pekerja web, periksa apakah browser pengguna mendukungnya:

if (typeof(Worker) !== "undefined") {
  // Yes! Web worker support!
  // Some code.....
} else {
  // Sorry! No Web Worker support..
}


Buat File Pekerja Web

Sekarang, mari kita buat pekerja web kita di JavaScript eksternal.

Di sini, kami membuat skrip yang diperhitungkan. Script disimpan di file "demo_workers.js":

let i = 0;

function timedCount() {
  i ++;
  postMessage(i);
  setTimeout("timedCount()",500);
}

timedCount();

Bagian penting dari kode di atas adalah postMessage()metode - yang digunakan untuk mengirim pesan kembali ke halaman HTML.

Catatan: Biasanya pekerja web tidak digunakan untuk skrip sederhana seperti itu, tetapi untuk tugas yang lebih intensif CPU.


Buat Objek Pekerja Web

Sekarang kita memiliki file pekerja web, kita perlu memanggilnya dari halaman HTML.

Baris berikut memeriksa apakah pekerja sudah ada, jika tidak - itu membuat objek pekerja web baru dan menjalankan kode di "demo_workers.js":

if (typeof(w) == "undefined") {
  w = new Worker("demo_workers.js");
}

Kemudian kita dapat mengirim dan menerima pesan dari web worker.

Tambahkan event listener "onmessage" ke web worker.

w.onmessage = function(event){
  document.getElementById("result").innerHTML = event.data;
};

Saat pekerja web memposting pesan, kode di dalam event listener dieksekusi. Data dari web worker disimpan di event.data.


Menghentikan Pekerja Web

Saat objek pekerja web dibuat, objek tersebut akan terus mendengarkan pesan (bahkan setelah skrip eksternal selesai) hingga dihentikan.

Untuk menghentikan pekerja web, dan sumber daya browser/komputer gratis, gunakan terminate()metode:

w.terminate();

Gunakan kembali Web Worker

Jika Anda menyetel variabel pekerja ke undefined, setelah dihentikan, Anda dapat menggunakan kembali kode:

w = undefined;

Kode Contoh Pekerja Web Lengkap

Kita telah melihat kode Worker di file .js. Di bawah ini adalah kode untuk halaman HTML:

Contoh

<!DOCTYPE html>
<html>
<body>

<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>

<script>
let w;

function startWorker() {
  if (typeof(w) == "undefined") {
    w = new Worker("demo_workers.js");
  }
  w.onmessage = function(event) {
    document.getElementById("result").innerHTML = event.data;
  };
}

function stopWorker() {
  w.terminate();
  w = undefined;
}
</script>

</body>
</html>

Pekerja Web dan DOM

Karena pekerja web berada di file eksternal, mereka tidak memiliki akses ke objek JavaScript berikut:

  • objek jendela
  • objek dokumen
  • Objek induk