Chrome र Firefox बीच प्रोक्सी एक्सटेन्सन पोर्ट गर्ने
Firefox र Chrome समान नामका एक्सटेन्सन API दिन्छन् तर तिनका कन्फिगरेसन मोडेल फरक छन्। namespace मात्र होइन, राउटिङ नीति पोर्ट गर्नुहोस्।
chrome लाई browser नाम राख्नु कुनै प्रोक्सी एक्सटेन्सनको पूर्ण पोर्ट होइन।
Chrome को फिक्स्ड-सर्भर कन्फिगरेसनले mode र rules वस्तु प्रयोग गर्छ। Firefox ले आफ्नै विश्वव्यापी प्रोक्सी सेटिङ्स इन्टरफेस र प्रत्येक अनुरोधका लागि proxy.onRequest API दिन्छ। समान नामले तिनका इनपुट वस्तुहरूलाई आपसमा साट्न मिल्ने बनाउँदैन।
तपाईंले व्यक्त गर्न चाहनुभएको नीतिबाट सुरु गर्नुहोस्: एउटा स्थिर अन्त्यबिन्दु, PAC कन्फिगरेसन, वा प्रत्येक अनुरोधका लागि छुट्टै छानिएको मार्ग। त्यसपछि प्रत्येक ब्राउजरका लागि कागजात गरिएको इन्टरफेस प्रयोग गर्नुहोस्।
Firefox को प्रति-अनुरोध श्रोताले एक्सटेन्सन कोडबाट प्रोक्सी जानकारी फर्काउन सक्छ। यसका लागि प्रोक्सी अनुमति र रोकिएका अनुरोधहरूका लागि उपयुक्त host पहुँच चाहिन्छ। यो Chrome को फिक्स्ड-सर्भर सेटिङ्स वस्तु प्रतिलिपि गरेर ब्राउजरले हरेक फिल्ड चिन्छ भन्ने आशा गर्नुभन्दा फरक डिजाइन हो।
समर्थित Firefox संस्करण र manifest आवश्यकताहरू पनि जाँच्नुहोस्। proxy.register() प्रयोग गर्ने पुराना उदाहरणहरूले अघिल्लो API वर्णन गर्छन् र ती वर्तमान एक्सटेन्सनको आधार हुनुहुँदैन।
साझा नीति डेटा ब्राउजर-विशेष अनुकूलनबाट अलग राख्नुहोस्। परीक्षण र निदानले प्रत्येक ब्राउजरमा गन्तव्यका लागि छानिएको मार्ग देखाउनुपर्छ, जानाजान गरिएको सिधा नतिजासमेत। वैध manifest र त्रुटि नफाल्ने API कल केवल सुरुवात हो।