समस्या वास्तव में है कि यदि क्रोम में स्थानीय प्रोटोकॉल हैंडलर की कमी है तो यह उपयोगकर्ता के पर्यावरण में कॉन्फ़िगर किए गए हैंडलर का उपयोग करना चाहता है। एक डिफ़ॉल्ट हैंडलर लॉन्च करने के लिए कोई भी दो ओएस बिल्कुल वही एपीआई प्रदान नहीं करता है। वास्तव में यह लॉन्च करने से पहले यह प्रोग्राम क्या होगा, यह पता लगाने के लिए कि विंडोज या लिनक्स पर एक स्पष्ट एपीआई भी नहीं है।
"मैक" और विंडोज़ कार्यान्वयन दोनों ही अंत में प्रोटोकॉल के लिए कौन सा बाहरी अनुप्रयोग जिम्मेदार है और इसलिए कॉल चेतावनी जारी किए बिना अनचाहे कॉल को दबाने में सक्षम हैं। लेकिन विंडोज़ कार्यान्वयन वास्तव में एक क्लज है जो विंडोज़ पर मौजूदा संस्करणों पर विंडोज रजिस्ट्री के अवलोकनों पर निर्भर करता है। इस प्रकार का एपीआई उल्लंघन लिनक्स पर अधिक खतरनाक है जहां कई स्वादों में संबंधित सेटिंग्स टूल के बहुत अलग फोर्क होते हैं।
यह वास्तव में considered a bug है कि विंडोज और ओएसएक्स वैकल्पिक चेतावनी जारी नहीं करते हैं कि उन्होंने कुछ भी नहीं कहा है, इसलिए यदि आप सोचते हैं कि यह सही व्यवहार है तो आप यहां टिप्पणी करना चाहेंगे।
लिनक्स
लिनक्स में, जब आप (विंडो) प्रणाली के साथ प्रोटोकॉल हैंडलर रजिस्टर, आप की तरह कुछ करना:
यहाँ कैसे 3 सिस्टम वर्तमान स्रोत के आधार पर काम करने की मेरी प्रेक्षण है
xdg-settings set default-url-scheme-handler myprotocol evolution.desktop
अब, आवेदन विकास अपने प्रोटोकॉल के लिए जिम्मेदार है और कुछ भी कॉल कर सकते हैं:
xdg-open myprotocol:...
अब इन लिंक पर विकास को खोलने के लिए। अन्य ओएस में समान तंत्र हैं, लेकिन कॉल स्टब के रूप में बाहरी प्रोग्राम नहीं हो सकता है।
यह अच्छा और अमूर्त है और knowing/saying the external app you are calling is xdg-open लिनक्स कार्यान्वयन में बहुत जटिलता को रोकता है। लेकिन यह वास्तव में वह जानकारी नहीं है जिसे उपयोगकर्ता संभवतः चाहता है। उस जानकारी को प्राप्त करने के लिए xdg-settings
का उपयोग करने की आवश्यकता होगी और इस प्रणाली के कुछ स्वादों में डिफ़ॉल्ट हैंडलर को सशर्त रूप से ओवरराइड करने का कोई तरीका होगा या नहीं, तो गलत होने का जोखिम होगा।
विंडोज
विंडोज हैंडलर में, जाहिरा तौर पर आप सिर्फ snooping around in the registry जा सकते हैं और उसके बाद क्या बुला एपीआई वास्तव में करने जा रहा है के रूप में एक उचित अनुमान लगाने के। तकनीकी रूप से, क्रोम को ऐसा करना होता है क्योंकि बाहरी प्रोग्राम खोलने के तरीके से सिस्टम एपीआई के माध्यम से होता है, इसलिए चेतावनी में संदर्भ देने के लिए xdg-open
जैसे बाहरी स्टब नहीं है।
मैक
"मैक" हैंडलर में, वहाँ, एप्लिकेशन अपने विशिष्ट URL लॉन्च कर देगा, तो क्रोम does के बारे में पूछने के लिए तो if the application name the empty string यह पूरी तरह से चेतावनी पैदा करने से पहले कॉल ड्रॉप कर सकते हैं एक उचित एपीआई है।