تستند أذونات المضيف ومطابقة النص البرمجي للمحتوى إلى مجموعة من عناوين URL التي يتم تحديدها من خلال أنماط المطابقة. نمط المطابقة هو في الأساس عنوان URL يبدأ بنظام مسموح به (http
أو https
أو file
أو ftp
ويمكن أن يحتوي على الأحرف "*
". يتطابق النمط الخاص <all_urls>
مع أي
عنوان URL يبدأ بنظام مسموح به. يتكون كل نمط مطابقة من 3 أجزاء:
scheme: على سبيل المثال،
http
أوfile
أو*
ملاحظة: لا يمكن الوصول إلى عناوين URL علىfile
بشكل تلقائي. على المستخدم زيارة صفحة إدارة الإضافات وتفعيل إذن الوصول إلى "file
" لكل إضافة تطلبها.host: على سبيل المثال،
www.google.com
أو*.google.com
أو*
، وإذا كان المخطَّطfile
، فلا يكون هناك جزء hostpath: على سبيل المثال،
/*
أو/foo*
أو/foo/bar
. يجب أن يكون المسار متاحًا في إذن المضيف، ولكن يتم التعامل معه دائمًا على أنّه/*
.
فيما يلي بناء الجملة الأساسي:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
يعتمد معنى "*
" على ما إذا كان في جزء المخطط أو المضيف أو المسار. إذا كان المخطّط *
، سيتطابق مع http
أو https
، وليس file
أو ftp
أو urn
. وإذا كان المضيف هو *
فقط، سيطابق أي مضيف. إذا كان المضيف هو *._hostname_
، سيطابق المضيف المحدد أو أي من نطاقاته الفرعية. في قسم المسار، لا يتطابق كل "*
" مع 0 حرف أو أكثر. يعرض الجدول التالي بعض الأنماط الصالحة.
النمط | وظيفتها | أمثلة على عناوين URL المطابقة |
---|---|---|
http://*/* | يتطابق مع أي عنوان URL يستخدم المخطط http . | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | يتطابق مع أي عنوان URL يستخدم المخطط http على أي مضيف، ما دام المسار يبدأ بـ /foo | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | يتطابق مع أي عنوان URL يستخدم المخطط https وعلى مضيف google.com (مثل www.google.com أو docs.google.com أو google.com)، طالما أن المسار يبدأ بـ /foo وينتهي بـ bar . | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | يتطابق مع عنوان URL المحدَّد | http://example.org/foo/bar.html |
file:///foo* | يطابق أي ملف محلي يبدأ مساره بـ /foo | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | يتطابق مع أي عنوان URL يستخدم النظام http ويكون على المضيف 127.0.0.1 | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | يتطابق مع أي عنوان URL يبدأ بـ http://mail.google.com أو https://mail.google.com . | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | يتطابق مع أي عنوان URL يبدأ بـ urn: . | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | يطابق أي عنوان URL يستخدم مخططًا مسموحًا به. (راجع بداية هذا القسم للحصول على قائمة بالمخططات المسموح بها). | http://example.org/foo/bar.html file:///bar/baz.html |
في ما يلي بعض الأمثلة على تطابقات الأنماط غير الصالحة:
النقش غير صالح. | لماذا هو سيئ؟ |
---|---|
http://www.google.com | بلا مسار |
http://*foo/bar | لا يمكن أن يتبع الرمز "*" في المضيف إلا علامة "." أو "/". |
http://foo.*.bar/baz | إذا كان علامة "*" في المضيف، يجب أن يكون الحرف الأول. |
http:/bar | لم يتم توفير فاصل scheme ("/" يجب أن يكون "//") |
foo://* | المخطط غير صالح. |
بعض المخطَّطات غير متاحة في جميع السياقات.