Mendaftarkan pengendali protokol kustom

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

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 berada di origin 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 secara manual dari protokol.

Perlu diingat bahwa Firefox telah mengimplementasikan navigator.registerProtocolHandler sejak FF3. Satu perbedaan dalam implementasi Chrome adalah seputar protokol kustom. Keduanya harus diawali dengan "web+", seperti yang terlihat pada contoh di atas. Protokol berikut tidak memerlukan parameter "web+" awalan: "mailto", "mms", "nntp", "rtsp", "webcal".

Informasi selengkapnya tentang API ini dapat ditemukan di artikel MMD.