تسجيل معالج بروتوكول مخصص

يتضمّن Chrome 13 أخيرًا 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 منذ الإصدار FF3. ويتعلق أحد الاختلافات في تنفيذ Chrome بالبروتوكولات المخصّصة. ويجب أن تسبقها البادئة "+web"، كما هو موضّح في المثال أعلاه. لا تحتاج البروتوكولات التالية إلى "+web" البادئة: "mailto" و"mms" و"nntp" و"rtsp" و"webcal".

يمكن العثور على مزيد من المعلومات حول واجهة برمجة التطبيقات هذه في مقالة MDN.