Bookmarklet adalah sebuah script JavaScript yang dapat dijalankan dengan mengklik tombol bookmark (buku markah) pada browser. Istilah "bookmarklet" sendiri diperkenalkan oleh Dave Raggett, seorang developer JavaScript.
Cara kerja bookmarklet sangat sederhana. Bookmarklet akan dijalankan ketika pengguna mengklik tombol bookmark dengan menuliskannya sebagai nilai ahref (alamat) pada tag anchor HTML. Contohnya: <a href="javascript:...">Bookmark This</a>
.
Menggunakan Bookmarklet
Sebelum kita membahas lebih lanjut tentang cara menggunakan bookmarklet, mari kita lihat contoh sederhana:
<a href="javascript:(function(){ var selected; if (window.getSelection) selected = window.getSelection(); else if (document.getSelection) selected = document.getSelection(); else selected = document.selection.createRange().text; var q = ''+selected; if (q) location='http://www.google.com/search?q='+encodeURIComponent(q);})();">Iskatkan Yang Dipilih</a>
Dalam contoh di atas, bookmarklet akan mengambil teks yang dipilih oleh pengguna dan menjalankannya sebagai kueri pada Google.
Menggunakan Nilai Kembali
Jika sebuah fungsi atau operasi dalam bookmarklet menampilkan nilai kembali, maka bookmarklet tersebut akan membuka halaman baru dengan menampilkan nilai tersebut. Contohnya: <a href="javascript:alert('Hello World!');">Munculkan Alert</a>
.
Menggunakan Void
Kadang-kadang, kita tidak ingin nilai kembali dari bookmarklet tersebut. Dalam kasus ini, kita dapat menggunakan void 0
untuk menghapus nilai kembali. Contohnya: <a href="javascript:(function(){ ... })()">Perhatikan Halaman</a>
.
Menggunakan Lokal Variable
Bookmarklet biasanya bekerja dalam lingkungan global. Namun, jika kita ingin membuat variable lokal, kita dapat menggunakan teknik berikut:
<a href="javascript:(function(){ var a = 5; })()">Buat Variable Lokal</a>
Dalam contoh di atas, variable a
akan menjadi local dan tidak terpengaruh oleh variable global.
Mengenal Ongkos
Ongkos (cost) dalam menggunakan bookmarklet adalah sebagai berikut:
- Jumlah karakter: Terbatas oleh browser yang digunakan. Contohnya, Internet Explorer 6 memiliki batas karakter sebesar 508.
- Area visibility: Bookmarklet bekerja dalam lingkungan global.
Menghadapi Masalah
Ada beberapa masalah yang dapat timbul ketika kita menggunakan bookmarklet:
- Jumlah karakter terbatas
- Ongkos yang dihabiskan oleh browser
Untuk mengatasi masalah ini, kita dapat menggunakan teknik berikut:
- Menggunakan teknologi Ajax untuk memuat script eksternal.
- Mengembangkan bookmarklet hanya untuk "Browser Advance".
Dengan demikian, kita dapat membuat bookmarklet yang efektif dan berguna.