定義擴充功能的比對模式以存取檔案 URL

Microsoft Edge 附加元件 (延伸模組) 可以要求 URL 的存取權 file 。 若要啟用此功能,您必須明確設定此存取權。 fileURL 的存取權不是自動的。 您必須造訪 Microsoft Edge 附加元件網站上的 [擴充功能 管理 ] 頁面,才能針對要求存取 URL 的每個 Microsoft Edge 擴充功能選擇 file 存取 file 權。

針對 Microsoft Edge 附加元件 (延伸模組) ,主機許可權和內容腳本模式比對的運作方式如下。

主機許可權和內容腳本比對是以比對模式所定義的一組 URL 為基礎。 比對模式基本上是以允許的配置開頭的 URL, (httphttpsfileftp ,而且可以包含 ' * ' 字元。 特殊模式 <all_urls> 會比對以允許配置開頭的任何 URL。 每個比對模式都有 3 個部分:

  • scheme — 例如, http 或 或 file*

  • _host_ — 例如, www.google.com*.google.com* ;如果配置是檔案,則沒有主機元件。

  • _path_ — 例如 、 /*/foo*/foo/bar 。 路徑必須存在於主機許可權中,但一律視為 /*

基本語法

基本語法:

<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>

的意義 * 取決於它是否在配置、主機或路徑部分中。 如果配置為 * ,則它符合 httphttps ,而不是 file 、 或 ftp 。 如果主機只是 * ,則會比對任何主機。 如果主機是 *.hostname ,則會比對指定的主機或任何子域。 在 path 區段中,每個會 * 比對 0 或多個字元。 下表顯示一些有效的模式。

有效模式的範例

模式 功能 比對 URL 的範例
http://*/* 比對使用 HTTP 配置的任何 URL http://www.google.com http://example.org/foo/bar.html
http://*/foo* 比對任何主機上使用 HTTP 配置的任何 URL,只要路徑開頭為 /foo http://example.com/foo/bar.html http://www.google.com/foo
https://*.google.com/foo*bar 符合任何使用 HTTPs 配置的 URL、位於 google.com 主機 (,例如 www.google.comdocs.google.comgoogle.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/* 比對使用 http 配置且位於主機上的任何 URL 127.0.0.1 http://127.0.0.1 http://127.0.0.1/foo/bar.html
*://mail.google.com/* 比對以 http://mail.google.comhttps://mail.google.com 開頭的任何 URL。 http://mail.google.com/foo/baz/bar https://mail.google.com/foobar
<all_urls> 比對任何使用允許配置的 URL。 (如需允許的配置清單,請參閱本節的開頭。) http://example.org/foo/bar.html file:///bar/baz.html

無效模式的範例

以下是一些模式相符專案的 _invalid_ 範例:

不正確的模式 為何不正確
http://www.foo.com _path_
http://*foo/bar 主機中的 ' * ' 後面只能接著 ' . ' 或 ' / '
http://foo.*.bar/baz 如果 ' * ' 在 中 _host_ ,它必須是第一個字元
http:/bar 遺漏 _scheme_ 的分隔符號 (' / ' 應該是 「 // 」)
foo://* 無效 _scheme_

在所有內容中都不支援某些配置。

注意事項

此頁面的部分是根據 Google 所建立和 共用的工作進行 修改,並根據 Creative Commons Attribution 4.0 國際授權中所述的條款使用。 您可以 在這裡找到原始頁面。

Creative Commons 授權 此工作是根據 Creative Commons Attribution 4.0 International License 授權