Laravel Bladeでクリップボードにコピーする方法


  1. JavaScriptを使用する方法: Bladeテンプレート内でJavaScriptを使用して、クリップボードにテキストをコピーすることができます。以下はその例です。
<button onclick="copyToClipboard('{{ $text }}')">Copy to Clipboard</button>
<script>
    function copyToClipboard(text) {
        navigator.clipboard.writeText(text)
            .then(function() {
                alert('テキストがクリップボードにコピーされました!');
            })
            .catch(function(error) {
                console.error('クリップボードへのコピーに失敗しました:', error);
            });
    }
</script>

上記の例では、$text変数にコピーしたいテキストが格納されていると仮定しています。ボタンをクリックすると、JavaScriptのcopyToClipboard関数が呼び出され、テキストがクリップボードにコピーされます。

  1. LaravelのSessionを使用する方法: LaravelのSessionを使用して、テキストを一時的に保存し、クリップボードにコピーすることもできます。以下はその例です。
// Bladeテンプレート内でのコード
{{ session()->put('copiedText', $text) }}
<button onclick="copyFromSession()">Copy from Session</button>
<script>
    function copyFromSession() {
        var text = '{{ session('copiedText') }}';
        navigator.clipboard.writeText(text)
            .then(function() {
                alert('テキストがクリップボードにコピーされました!');
            })
            .catch(function(error) {
                console.error('クリップボードへのコピーに失敗しました:', error);
            });
    }
</script>

上記の例では、Bladeテンプレート内でsession()->put('copiedText', $text)を使用してテキストをセッションに保存します。ボタンをクリックすると、JavaScriptのcopyFromSession関数が呼び出され、セッションからテキストを取得してクリップボードにコピーします。

これらはLaravel Bladeでクリップボードにテキストをコピーするための2つの一般的な方法です。必要に応じて、これらの方法をカスタマイズして使用することができます。