aboutsummaryrefslogtreecommitdiff
path: root/files/ko/mozilla/add-ons/webextensions/api/contentscripts/index.html
blob: 94061c69dc63be9241727031f2fceab2f014e80c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
---
title: contentScripts
slug: Mozilla/Add-ons/WebExtensions/API/contentScripts
translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts
---
<div>{{AddonSidebar}}</div>

<p>이 API는 콘텐츠 스크립트를 등록한다. 등록된 콘텐츠 스크립트는 브라우저가 URL 패턴이 일치하는 페이지에 넣는다.</p>

<p>이 API는 <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">"content_scripts"</a></code> manifest.json 키와 아주 비슷하다. 단지,  <code>"content_scripts"</code>로는 설치할 때 정해진 스크립트와 패턴을 바꿀 수 없지만, <code>contentScripts</code> API로는 스크립트의 등록이나 해제가 실행 중에도 가능하다.</p>

<p>등록할 스크립트, URL 패턴, 그리고 기타 옵션을 정의하는 객체를 인수로 {{WebExtAPIRef("contentScripts.register()")}}을 호출하면, 반환된  <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>{{WebExtAPIRef("contentScripts.RegisteredContentScript")}} 객체가 인수인 완료를 수행한다.</p>

<p><code>RegisteredContentScript</code><code>register()</code>를 호출해 등록할 스크립트를 담는 객체다. 해제는 객체에 정의된 <code>unregister()</code> 메소드로 할 수 있다. 또한, 스크립트를 등록한 페이지를 없애면 스크립트는 자동으로 해제된다. 예를 들어, background 페이지에서 등록했으면 그것들은 background 페이지가 파괴될 때 자동으로 해제된다. 마찬가지로 사이드바나 팝업에서 등록했으면, 사이드바나 팝업이 닫힐 때 자동으로 해제된다.</p>

<p><code>contentScripts</code> API 자체는 권한 없이 사용할 수 있지만, <code>register()</code>에 전달할 패턴에 대해서는 <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">호스트 권한</a>을 가져야 한다.</p>

<h2 id="자료형">자료형</h2>

<dl>
 <dt>{{WebExtAPIRef("contentScripts.RegisteredContentScript")}}</dt>
 <dd>
 <p>{{WebExtAPIRef("contentScripts.register()")}} 함수가 반환하는 객체의 자료형으로 등록된 콘텐츠 스크립트를 표현한다. <code>unregister()</code> 메소드로 스스로를 해제할 수 있다.</p>
 </dd>
</dl>

<h2 id="함수">함수</h2>

<dl>
 <dt>{{WebExtAPIRef("contentScripts.register()")}}</dt>
 <dd>주어진 콘텐츠 스크립트를 등록한다</dd>
</dl>

<h2 id="브라우저_호환성">브라우저 호환성</h2>

<p>{{Compat("webextensions.api.contentScripts", 10, 1)}}</p>

<p>{{WebExtExamples("h2")}}</p>