मैच पैटर्न, यूआरएल का ऐसा स्ट्रक्चर होता है जिसका इस्तेमाल यूआरएल के ग्रुप को बताने के लिए किया जाता है:
<scheme>://<host>/<path>
scheme: यह इनमें से कोई एक होना चाहिए. इसे डबल स्लैश (//
) का इस्तेमाल करके, बाकी पैटर्न से अलग किया जाना चाहिए:
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
से शुरू होने वाले किसी भी यूआरएल से मेल खाता है.