Mendaftarkan pengendali protokol kustom

Chrome 13 akhirnya menyertakan navigator.registerProtocolHandler. API ini memungkinkan aplikasi web mendaftarkan diri sebagai pengendali yang mungkin untuk protokol tertentu. Misalnya, pengguna dapat memilih aplikasi Anda untuk menangani link "mailto".

Daftarkan skema protokol seperti:

navigator.registerProtocolHandler(
    'web+mystuff', 'http://example.com/rph?q=%s', 'My App');

Parameter pertama adalah protokol. Yang kedua adalah pola URL aplikasi yang harus menangani skema ini. Pola harus menyertakan '%s' sebagai placeholder untuk data dan harus memiliki asal yang sama dengan aplikasi yang mencoba mendaftarkan protokol. Setelah pengguna menyetujui akses, Anda dapat menggunakan link ini melalui aplikasi Anda, situs lain, dll.:

<a href="web+mystuff:some+data">Open in "My App"</a>

Mengklik link tersebut akan membuat permintaan GET ke http://example.com/rph?q=web%2Bmystuff%3A:some%20data. Dengan demikian, Anda harus mengurai parameter q dan menghapus data dari protokol secara manual.

Perlu diperhatikan bahwa Firefox telah menerapkan navigator.registerProtocolHandler sejak FF3. Satu perbedaan dalam implementasi Chrome terletak pada protokol kustom. Channel tersebut harus diawali dengan "web+", seperti yang terlihat pada contoh di atas. Protokol berikut tidak memerlukan awalan "web+": "mailto", "mms", "nntp", "rtsp", "webcal".

Informasi selengkapnya tentang API ini dapat ditemukan di artikel MDN.