aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/add-ons/webextensions/api/clipboard
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/mozilla/add-ons/webextensions/api/clipboard')
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/clipboard/index.html39
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.html72
2 files changed, 111 insertions, 0 deletions
diff --git a/files/ja/mozilla/add-ons/webextensions/api/clipboard/index.html b/files/ja/mozilla/add-ons/webextensions/api/clipboard/index.html
new file mode 100644
index 0000000000..f104a67940
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/clipboard/index.html
@@ -0,0 +1,39 @@
+---
+title: clipboard
+slug: Mozilla/Add-ons/WebExtensions/API/clipboard
+tags:
+ - API
+ - Add-ons
+ - Clipboard
+ - Extensions
+ - Reference
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/API/clipboard
+---
+<div>{{AddonSidebar}}</div>
+
+<p>クリップボード API は、拡張機能がシステムのクリップボードに要素をクリップするのを可能にします。現在この API は画像のコピーだけをサボートしていますが、将来的にはテキストとHTMLのコピーをサボートする計画です。</p>
+
+<p>この WebExtension API は主に標準の web クリップボード API が<a href="https://w3c.github.io/clipboard-apis/#writing-to-clipboard">クリップボードに画像を書き込めない</a>ために存在しています。標準 web API にこの力が備わった時には、このAPI は非推奨になるはずです。</p>
+
+<p>クリップボードの読み込みはこの API でサポートしません。なぜならクリップボードはすでに標準 web プラットホーム API を用いて読むことができるからです。<a href="/ja/Add-ons/WebExtensions/Interact_with_the_clipboard#Reading_from_the_clipboard">クリップボードとやりとりする</a>を見てください。</p>
+
+<p>この API は Chrome の <code><a class="external external-icon" href="https://developer.chrome.com/apps/clipboard">clipboard</a></code> API に基づきますが、その API はChrome アプリだけで利用できて、拡張機能ではできません。</p>
+
+<p>この API を使うには "clipboardWrite" <a href="/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">パーミッション</a>が必要です。</p>
+
+<h2 id="Functions" name="Functions">関数</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("clipboard.setImageData()")}}</dt>
+ <dd>画像をクリップボードにコピーする</dd>
+</dl>
+
+<h2 id="Browser compatibility" name="Browser compatibility">ブラウザー互換性</h2>
+
+<p>{{Compat("webextensions.api.clipboard", 1, 1)}} {{WebExtExamples("h2")}}</p>
+
+<div class="note"><strong>Acknowledgements</strong>
+
+<p>この API は Chromiumの <a href="https://developer.chrome.com/apps/clipboard"><code>chrome.clipboard</code></a> API に基づきます。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.html b/files/ja/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.html
new file mode 100644
index 0000000000..950f1c866e
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.html
@@ -0,0 +1,72 @@
+---
+title: clipboard.setImageData()
+slug: Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData
+translation_of: Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>イメージをクリップボードにコピーします。イメージはクリップボードに書き込まれる前に再エンコードされます。イメージが無効な場合、クリップボードは修正されません。</p>
+
+<p>The image is provided as an <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> containing the encoded image. JPEG and PNG formats are supported.</p>
+
+<p>Although this API is based on Chrome's <code><a href="https://developer.chrome.com/apps/clipboard">clipboard.setImageData()</a></code> API, there are some differences:</p>
+
+<ul>
+ <li>The Chrome API is only for apps, not extensions.</li>
+ <li>This API requires only the <code>"clipboardWrite"</code> permission, while the Chrome version also requires the <code>"clipboard"</code> permission.</li>
+ <li>Chrome's API uses callbacks, and this API only supports promises.</li>
+ <li>This API does not support the <code>additionalItems</code> parameter.</li>
+</ul>
+
+<p>これは<code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>を返す非同期関数です。</p>
+
+<h2 id="書式">書式</h2>
+
+<pre class="syntaxbox brush:js">browser.clipboard.setImageData(<em>imageData</em>, <em>imageType</em>)
+</pre>
+
+<h3 id="パラメータ">パラメータ</h3>
+
+<dl>
+ <dt><code>imageData</code></dt>
+ <dd>An <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> containing the encoded image data to copy to the clipboard.</dd>
+ <dt><code>imageType</code></dt>
+ <dd>A {{domxref("DOMString")}} indicating the type of image contained in <code>imageData</code>: <code>"png"</code> or <code>"jpeg"</code>.</dd>
+</dl>
+
+<h3 id="返り値">返り値</h3>
+
+<p>A <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> that will be resolved with no arguments if the operation succeeded, or rejected if there was an error (for example, because the data did not represent a valid image).</p>
+
+<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.api.clipboard.setImageData", 10)}}</p>
+
+<h2 id="例">例</h2>
+
+<p>Copy a remote image:</p>
+
+<pre class="brush: js" id="ct-71"><span class="quote">// requires:
+// * the host permission for "<a href="https://cdn.mdn.mozilla.net/" rel="nofollow">https://cdn.mdn.mozilla.net/</a>*"
+// * the API permission "clipboardWrite"
+
+fetch('<a href="https://cdn.mdn.mozilla.net/static/img/favicon144.png" rel="nofollow">https://cdn.mdn.mozilla.net/static/img/favicon144.png</a>')
+.then(response =&gt; response.arrayBuffer())
+.then(buffer =&gt; browser.clipboard.setImageData(buffer, 'png'));</span></pre>
+
+<p><span class="quote">Copy an image that was bundled with the extension:</span></p>
+
+<pre class="brush: js" id="ct-70">// requires <span class="quote">the API permission </span>"clipboardWrite"
+
+fetch(browser.runtime.getURL('image.png'))
+.then(response =&gt; response.arrayBuffer())
+.then(buffer =&gt; browser.clipboard.setImageData(buffer, 'png'));</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Acknowledgements</strong>
+
+<p>This API is based on Chromium's <a href="https://developer.chrome.com/apps/clipboard"><code>chrome.clipboard</code></a> API.</p>
+</div>