مطابقة الأنماط

تستند أذونات المضيف ومطابقة النص البرمجي للمحتوى إلى مجموعة من عناوين URL التي يتم تحديدها من خلال أنماط المطابقة. نمط المطابقة هو في الأساس عنوان URL يبدأ بنظام مسموح به (http أو https أو file أو ftp ويمكن أن يحتوي على الأحرف "*". يتطابق النمط الخاص <all_urls> مع أي عنوان URL يبدأ بنظام مسموح به. يتكون كل نمط مطابقة من 3 أجزاء:

  • scheme: على سبيل المثال، http أو file أو *

    ملاحظة: لا يمكن الوصول إلى عناوين URL على file بشكل تلقائي. على المستخدم زيارة صفحة إدارة الإضافات وتفعيل إذن الوصول إلى "file" لكل إضافة تطلبها.
  • host: على سبيل المثال، www.google.com أو *.google.com أو *، وإذا كان المخطَّط file، فلا يكون هناك جزء host

  • path: على سبيل المثال، /* أو /foo* أو /foo/bar. يجب أن يكون المسار متاحًا في إذن المضيف، ولكن يتم التعامل معه دائمًا على أنّه /*.

فيما يلي بناء الجملة الأساسي:

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

يعتمد معنى "*" على ما إذا كان في جزء المخطط أو المضيف أو المسار. إذا كان المخطّط *، سيتطابق مع 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 على أي مضيف، ما دام المسار يبدأ بـ /foohttp://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*يطابق أي ملف محلي يبدأ مساره بـ /foofile:///foo/bar.html
file:///foo
http://127.0.0.1/*يتطابق مع أي عنوان URL يستخدم النظام http ويكون على المضيف 127.0.0.1http://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://*المخطط غير صالح.

بعض المخطَّطات غير متاحة في جميع السياقات.