クリップボードコピーボタン

便利系 Easy #clipboard #copy #code #button #utility

このコピーボタンは、コードブロックの内容をワンクリックでクリップボードへ写すユーティリティです。 copyCode 関数が対象要素の textContent を読み取り、 navigator.clipboard.writeText でコピーします。

▶ プレビュー

解説

このコピーボタンは、コードブロックの内容をワンクリックでクリップボードへ写すユーティリティです。copyCode 関数が対象要素の textContent を読み取り、navigator.clipboard.writeText でコピーします。成功すると then の中でボタンの文言を「コピー済み!」に変え、is-copied クラスを付けて見た目を変化させ、2秒後に元へ戻します。これにより、ユーザーは確かにコピーできたことを目で確認できます。ダークなコードブロックの右上にボタンを配置した、よくある開発者向けの配色です。

使う場面

  • 技術ブログやドキュメントのコードサンプル
  • クーポンコードや紹介コードの提示
  • API キーや設定値のコピー欄

コピー対象は id="code-content" の要素なので、表示するコードを差し替えるだけで使えます。成功時の文言や戻すまでの時間(2000)は自由に調整可能です。navigator.clipboard は安全な接続(HTTPS または localhost)でのみ動作する点に注意してください。古いブラウザ向けに保険を残すなら、失敗時のフォールバックを catch で用意すると安心です。

よくある質問

コピーボタンがローカルで動きません。
navigator.clipboardはセキュリティ上、HTTPSまたはlocalhost環境でのみ動作します。file://で直接開いた場合やHTTP接続では使えないことがあります。ローカル確認の際はlocalhostのサーバー経由で開いてください。
コピーした後のメッセージ表示を長くできますか?
できます。JavaScriptのsetTimeoutに指定した2000という数値がミリ秒単位で、コピー済み表示を戻すまでの時間です。3000にすれば3秒間「コピー済み」のままになります。
追加日:2026-05-23
← すべてのスニペットへ戻る