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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
---
title: menus.getTargetElement()
slug: Mozilla/Add-ons/WebExtensions/API/contextMenus/getTargetElement
translation_of: Mozilla/Add-ons/WebExtensions/API/menus/getTargetElement
---
<div>{{AddonSidebar}}{{Draft}}</div>
<p class="summary">주어진 <code>targetElementId</code>에 해당하는 요소를 돌려준다.</p>
<p>이 함수는 오직 클릭된 요소가 있는 문서에서만 동작한다. so everywhere but in the background page.</p>
<h2 id="문법">문법</h2>
<pre class="syntaxbox">let elem = browser.menus.getTargetElement(targetElementId);
</pre>
<h3 id="파라메터">파라메터</h3>
<dl>
<dt><code>targetElementId</code></dt>
<dd><code>{{WebExtAPIRef("menus.onClicked")}}</code> 핸들러 또는 <code>{{WebExtAPIRef("menus.onShown")}}</code> 이벤트에 전달된 <code>{{WebExtAPIRef("menus.OnClickData")}}</code> 객체의 속성</dd>
</dl>
<h3 id="반환값">반환값</h3>
<p><code>targetElementId</code>로 참조되는 요소를 반환한다. <code>targetElementId</code>가 유효하지 않으면 <code>null</code>를 반환한다.</p>
<h2 id="예제">예제</h2>
<p>아래 예제는 인수로 전달된 <code>info.targetElementId</code> 값으로 요소를 구하고, 그것을 지운다. 하지만 <code>getTargetElement</code>는 요소가 있는 문서에서만 동작하므로 문서가 있는 탭에 스크립트를 주입하는 형태로 처리하고 있다. </p>
<pre class="brush: js">browser.menus.create({
title: "Remove element",
documentUrlPatterns: ["*://*/*"],
contexts: ["audio", "editable", "frame", "image", "link", "page", "password", "video"],
onclick(info, tab) {
browser.tabs.executeScript(tab.id, {
frameId: info.frameId,
code: `browser.menus.getTargetElement(${info.targetElementId}).remove();`,
});
},
});
</pre>
<p>{{WebExtExamples}}</p>
<h2 id="브라우저_호환성">브라우저 호환성</h2>
<p>{{Compat("webextensions.api.menus.getTargetElement")}}</p>
<h2 id="같이_보기">같이 보기</h2>
<ul>
<li>{{WebExtAPIRef("menus.create")}}</li>
<li>{{WebExtAPIRef("menus.OnClickData")}}</li>
</ul>
|