मैच पैटर्न, यूआरएल का ऐसा स्ट्रक्चर होता है जिसका इस्तेमाल यूआरएल के ग्रुप को बताने के लिए किया जाता है:
<scheme>://<host>/<path>
स्कीम: यह इनमें से कोई एक होना चाहिए. इसे कोलन के बाद डबल स्लैश (://
) का इस्तेमाल करके, पैटर्न के बाकी हिस्से से अलग किया जाना चाहिए:
http
https
- वाइल्डकार्ड
*
, जो सिर्फ़http
याhttps
से मैच करता है file
about:
और data:
जैसे काम न करने वाले स्कीम में कॉन्टेंट स्क्रिप्ट इंजेक्ट करने के बारे में जानने के लिए, मिलते-जुलते फ़्रेम में इंजेक्ट करना लेख पढ़ें.
होस्ट: होस्टनेम (www.example.com
). सबडोमेन (*.example.com
) से मैच करने के लिए, होस्टनेम से पहले *
या सिर्फ़ वाइल्डकार्ड *
.
- अगर होस्ट पैटर्न में वाइल्डकार्ड का इस्तेमाल किया जाता है, तो यह पहला या सिर्फ़ एक वर्ण होना चाहिए. इसके बाद, पीरियड (.
) या फ़ॉरवर्ड स्लैश (/
) होना चाहिए.
पाथ: यूआरएल पाथ (/example
). होस्ट की अनुमतियों के लिए, पाथ की ज़रूरत होती है, लेकिन उसे अनदेखा कर दिया जाता है. वाइल्डकार्ड (/*
) का इस्तेमाल, नियम के मुताबिक किया जाना चाहिए.
एक्सटेंशन, अलग-अलग तरह के इस्तेमाल के उदाहरणों में मैच पैटर्न का इस्तेमाल करते हैं. इनमें ये भी शामिल हैं:
- कॉन्टेंट स्क्रिप्ट इंजेक्ट करना.
- होस्ट की अनुमतियों का एलान करना. कुछ Chrome API को अपनी अनुमतियों के अलावा, होस्ट की अनुमतियों की भी ज़रूरत होती है.
- वेब से ऐक्सेस किए जा सकने वाले संसाधनों का ऐक्सेस देना.
- "externally_connectable.matches" मेनिफ़ेस्ट की मदद से, मैसेज भेजने और पाने की अनुमति देना.
खास मामले
"<all_urls>"
- यह अनुमति वाले स्कीम से शुरू होने वाले किसी भी यूआरएल से मेल खाता है. इसमें मान्य पैटर्न में शामिल कोई भी पैटर्न भी शामिल है. इसकी वजह से सभी होस्ट पर असर पड़ता है. इसलिए, इसका इस्तेमाल करने वाले एक्सटेंशन की समीक्षा करने में, ज़्यादा समय लग सकता है.
"file:///"
- इससे आपके एक्सटेंशन को लोकल फ़ाइलों पर चलाने की अनुमति मिलती है. इस पैटर्न के लिए, उपयोगकर्ता को मैन्युअल रूप से ऐक्सेस देना होगा. ध्यान दें कि इस मामले में दो के बजाय तीन स्लैश की ज़रूरत होती है.
- लोकलहोस्ट यूआरएल और आईपी पते
- डेवलपमेंट के दौरान किसी भी लोकलहोस्ट पोर्ट से मैच करने के लिए,
http://localhost/*
का इस्तेमाल करें. आईपी पतों के लिए, पते के साथ-साथ पाथ में वाइल्डकार्ड भी डालें, जैसा किhttp://127.0.0.1/*
में किया गया है.http://*:*/*
का इस्तेमाल, localhost, आईपी पतों, और किसी भी पोर्ट से मैच करने के लिए भी किया जा सकता है. - टॉप लेवल डोमेन के मैच होने वाले पैटर्न
- Chrome, टॉप लेवल डोमेन (टीएलडी) के लिए मैच पैटर्न के साथ काम नहीं करता. अलग-अलग टीएलडी में, मैच पैटर्न की जानकारी दें, जैसे कि
http://google.es/*
औरhttp://google.fr/*
में.
पैटर्न के उदाहरण
https://*/*
याhttps://*/
https
स्कीम का इस्तेमाल करके, किसी भी यूआरएल से मेल खाता है.https://*/foo*
https
स्कीम का इस्तेमाल करके, किसी भी होस्ट परfoo
से शुरू होने वाले पाथ वाले किसी भी यूआरएल से मेल खाता है. मैच के उदाहरणों मेंhttps://example.com/foo/bar.html
औरhttps://www.google.com/foo
शामिल हैं.https://*.google.com/foo*bar
https
स्कीम का इस्तेमाल करके, google.com होस्ट पर मौजूद किसी भी ऐसे यूआरएल से मेल खाता है जिसका पाथfoo
से शुरू औरbar
पर खत्म होता है. मैच के उदाहरणों मेंhttps://www.google.com/foo/baz/bar
औरhttps://docs.google.com/foobar
शामिल हैं.file:///foo*
- ऐसी किसी भी लोकल फ़ाइल से मेल खाता है जिसका पाथ
foo
से शुरू होता है. मैच के उदाहरणों मेंfile:///foo/bar.html
औरfile:///foo
शामिल हैं. http://127.0.0.1/*
याhttp://127.0.0.1/
http
स्कीम का इस्तेमाल करने वाले और होस्ट 127.0.0.1 पर मौजूद किसी भी यूआरएल से मेल खाता है. मैच के उदाहरणों मेंhttp://127.0.0.1/
औरhttp://127.0.0.1/foo/bar.html
शामिल हैं.http://localhost/*
- यह किसी भी लोकलहोस्ट पोर्ट से मेल खाता है.
*://mail.google.com/
या*://mail.google.com/*
http://mail.google.com
याhttps://mail.google.com
से शुरू होने वाले किसी भी यूआरएल से मेल खाता है.