कस्टम प्रोटोकॉल हैंडलर रजिस्टर करना

Chrome 13 में अब navigator.registerProtocolHandler का डेटा भी शामिल है. यह एपीआई, वेब ऐप्लिकेशन को कुछ खास प्रोटोकॉल के लिए, खुद को संभावित हैंडलर के तौर पर रजिस्टर करने की अनुमति देता है. उदाहरण के लिए, उपयोगकर्ता "mailto" लिंक को हैंडल करने के लिए, आपके ऐप्लिकेशन को चुन सकते हैं.

प्रोटोकॉल स्कीम रजिस्टर करें, जैसे कि:

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

पहला पैरामीटर प्रोटोकॉल होता है. दूसरा ऐप्लिकेशन का यूआरएल पैटर्न होता है, जिसे इस स्कीम को मैनेज करना चाहिए. पैटर्न में डेटा के लिए प्लेसहोल्डर के तौर पर, '%s' शामिल होना चाहिए. साथ ही, इसे उसी ऑरिजिन पर होना चाहिए जिसमें प्रोटोकॉल को रजिस्टर करने की कोशिश करने वाला ऐप्लिकेशन शामिल है. उपयोगकर्ता से ऐक्सेस मिलने के बाद, अपने ऐप्लिकेशन, दूसरी साइटों वगैरह के ज़रिए इस लिंक का इस्तेमाल किया जा सकता है.:

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

उस लिंक पर क्लिक करने से, GET को http://example.com/rph?q=web%2Bmystuff%3A:some%20data से जुड़ने का अनुरोध भेजा जाता है. इसलिए, आपको q पैरामीटर को पार्स करना होगा और प्रोटोकॉल से डेटा को मैन्युअल तरीके से हटाना होगा.

ध्यान दें कि Firefox में FF3 से navigator.registerProtocolHandler लागू है. Chrome के लागू होने में एक अंतर कस्टम प्रोटोकॉल का होता है. इनके लिए, "वेब+" का इस्तेमाल करना ज़रूरी है, जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है. इन प्रोटोकॉल के लिए, "web+" प्रीफ़िक्स की ज़रूरत नहीं होती: "mailto", "mms", "nntp", "rtsp", "webcal".

इस एपीआई के बारे में ज़्यादा जानकारी, MDN लेख पर मिल सकती है.