يتضمّن الإصدار 13 من Chrome أخيرًا navigator.registerProtocolHandler
. تسمح واجهة برمجة التطبيقات هذه لتطبيقات الويب بتسجيل نفسها كمعالجات محتملة لبروتوكولات معيّنة. على سبيل المثال، يمكن للمستخدمين اختيار تطبيقك للتعامل مع روابط "mailto".
سجِّل مخطّط بروتوكول مثل:
navigator.registerProtocolHandler(
'web+mystuff', 'http://example.com/rph?q=%s', 'My App');
المعلمة الأولى هي البروتوكول. والثاني هو نمط عنوان URL للتطبيق الذي يجب أن يتعامل مع هذا النظام. يجب أن يتضمّن النمط العنصر %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 قد نفَّذ navigator.registerProtocolHandler
منذ الإصدار 3. يتمثل أحد الاختلافات في طريقة تنفيذ Chrome في البروتوكولات المخصّصة. ويجب أن تسبق هذه الأرقام البادئة "web+"، كما هو موضّح في المثال أعلاه. لا تحتاج البروتوكولات التالية إلى البادئة "web+": "mailto" و"mms" و"nntp" و"rtsp" و"webcal".
يمكنك العثور على مزيد من المعلومات حول واجهة برمجة التطبيقات هذه في مقالة MDN.