Özel protokol işleyici kaydetme

Chrome 13 sonunda navigator.registerProtocolHandler var. Bu API, web uygulamalarının kendilerini belirli protokoller için olası işleyiciler olarak kaydetmelerine olanak tanır. Örneğin, kullanıcılar uygulamanızı "mailto" işlemek için seçebilir bağlantılarını kullanın.

Şunlara benzer bir protokol şeması kaydedin:

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

İlk parametre protokoldür. İkincisi, bu şemayı işlemesi gereken uygulamanın URL kalıbıdır. Kalıp bir '%s' içermelidir veriler için bir yer tutucu olarak kullanmalı ve protokolü kaydetmeye çalışan uygulamayla aynı kaynakta olmalıdır. Kullanıcı erişimi onayladıktan sonra şu bağlantıyı uygulamanız, diğer siteler vb. üzerinden kullanabilirsiniz:

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

Bu bağlantı tıklandığında, http://example.com/rph?q=web%2Bmystuff%3A:some%20data için GET isteği gönderilir. Dolayısıyla, q parametresini ayrıştırmanız ve verileri protokolden manuel olarak çıkarmanız gerekir.

Firefox'ta FF3'ten bu yana navigator.registerProtocolHandler uygulanmıştır. Chrome'un uygulamasındaki farklılıklardan biri özel protokollerle ilgilidir. Bunlara, yukarıdaki örnekte görüldüğü gibi "web+" ön eki eklenmelidir. Aşağıdaki protokoller için "web+" gereklidir önek: "mailto", "mms", "nntp", "rtsp", "webcal".

Bu API hakkında daha fazla bilgiyi MDN makalesinde bulabilirsiniz.