댓글 검색 목록

[기타] chrome extention - 23. 패턴 일치

페이지 정보

작성자 운영자 작성일 20-11-05 17:23 조회 635 댓글 0

호스트 권한콘텐츠 스크립트 일치는 일치 패턴으로 정의 된 URL 집합을 기반으로 합니다. 일치 패턴은 기본적으로 허용 된 스키마 (http, https, 파일 또는 ftp)로 시작하고 '*'문자를 포함 할 수 있는 URL입니다. 특수 패턴 <all_urls>는 허용 된 스키마로 시작하는 모든 URL과 일치합니다. 각 일치 패턴은 세 부분으로 구성됩니다.

  • scheme —예 : http 또는 file 또는 *
    참고 : 파일 URL에 대한 액세스는 자동이 아닙니다. 사용자는 확장 관리 페이지를 방문하여 이를 요청하는 각 확장에 대한 파일 액세스를 선택해야 합니다.
  • 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>

'*'의 의미는 스키마, 호스트 또는 경로 부분에 있는지 여부에 따라 다릅니다. 스키마가 *이면 파일이나 ftp가 아닌 http 또는 https와 일치합니다. 호스트가 * 만 있으면 모든 호스트와 일치합니다. 호스트가 * .hostname이면 지정된 호스트 또는 하위 도메인과 일치합니다. 경로 섹션에서 각 '*'는 0 개 이상의 문자와 일치합니다. 다음 표는 몇 가지 유효한 패턴을 보여줍니다.


 Pattern

 그것이 하는 일

 일치하는 URL의 예

 http://*/*

 http 체계를 사용하는 모든 URL과 일치

 http://www.google.com/

http://example.org/foo/bar.html

 http://*/foo*

 경로가 / foo로 시작하는 한 모든 호스트에서 http 체계를 사용하는 모든 URL과 일치합니다.

 http://example.com/foo/bar.html

http://www.google.com/foo

 https://*.google.com/foo*bar

 경로가 / foo로 시작하고 bar로 끝나는 한 https 체계를 사용하는 모든 URL과 일치하고 google.com 호스트 (예 : www.google.com, docs.google.com 또는 google.com)에 있습니다.

 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 체계를 사용하고 호스트 127.0.0.1에있는 모든 URL과 일치합니다.

 http://127.0.0.1/

http://127.0.0.1/foo/bar.html

 *://mail.google.com/*

 http://mail.google.com 또는 https://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


다음은 잘못된 패턴 일치의 몇 가지 예입니다.


 Bad pattern

 Why it's bad

 http://www.google.com

 No path

 http://*foo/bar

 '*' in the host can be followed only by a '.' or '/'

 http://foo.*.bar/baz 

 If '*' is in the host, it must be the first character

 http:/bar

 Missing scheme separator ("/" should be "//")

 foo://*

 Invalid scheme


일부 체계는 모든 컨텍스트에서 지원되지 않습니다.


https://developer.chrome.com/extensions/match_patterns



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.