技術

JavaScriptでクリップボードにテキストをコピーする!

投稿日:

こんにちは。たなかです。

ブラウザに表示されている、自動採番されたIDをクリップボードにコピーさせたい、というシチュエーションに遭遇しました。

WebアプリであればJavaScriptで簡単に実装できるとのことで、やり方を備忘録的に書いておこうと思います。

JavaScriptでクリップボードにテキストをコピー

百聞は一見に如かずということでサクッとコード載せちゃいます。どーーん。

// 引き継ぎIDのコピー
function copyToClipboard() {
  // コピー対象をJavaScript上で変数として定義する
  var copyTarget = document.getElementById("copyTarget");
  // コピー対象のテキストを選択する
  copyTarget.select();
  // 選択しているテキストをクリップボードにコピーする
  document.execCommand("copy");
}

キーボードでいうと
copyTarget.select(); でテキストを選択した状態になり、
document.execCommand("Copy"); でctrl + cを押したみたいな動きになります。

ライブラリとか使わず素JSで簡単に書けるんですね。

ちなみに execCommand("paste"); でテキストのペーストもできるらしいですが、セキュリティの問題で動作しないブラウザが多いみたいです。

また今回は「WebViewでモバイル端末のクリップボードにテキストをコピーさせたい」という目論見だったのですが、そのような場合にはJSではなくネイティブ側での対応が必要になるとのことでした。
iOSのWeb(Safar、Chrome、WebView)では execCommand("copy"); が動かないとのことです。

短いですが今回はここまで。

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

どうも中田です。 Rails5.2から config/credentials.y …

no image

【Rails】idのauto increment設定を削除する

こんにちは railsを触っていてidからauto incrementの設定を削 …

[Xcode] SDK Version Issue – This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.

こんにちは。たなかです。 2019年、ブログ初更新になります。今年もよろしくお願 …

no image

【ionic】タブをタップで最上部にスクロール!

どうも、中田です。 今日はタブをタップでトップにゴーの日です。 どういう日かとい …

no image

[Angular]APIから画像を取得して表示する

こんばんは アプリケーションを作っていてフロント側で画像を出すときって ストレー …