ハッシュタグをコピーするボタンを作成しているのですが、どうもスマホの時にうまくコピーされません。
PCの場合はしっかりとクリップボードにコピーされます。
onclick属性を使って、htmlに直接書き込む方法もある様ですが、それでもスマホの時にはコピーできませんでした。
参考サイト
こちらのサイトはスマホでもコピーできました
https://www.marorika.com/entry/copy-to-clipboard
このサイトのやり方を真似ているのですが、スマホだとうまく行きません。
https://designsupply-web.com/media/knowledgeside/4035/
いろいろな参考サイトを見ましたが、スマホでコピーできるのとできないのとまちまちでした。
html
1<input type="text" value="#髪はじめました" id="instagram__tag" class="startedApply__stepList__input" readonly> 2<button class="button startedApply__stepList__linkButton" id="btn_copy">ハッシュタグをコピーする</button>
JavaScript
1function copyTags() { 2 // コピー対象の要素を取得 3 var target = document.getElementById('instagram__tag'); 4 if (navigator.userAgent.match(/ipad|ipod|iphone/i)) { 5 target.readOnly = false; 6 const range = document.createRange(); 7 range.selectNode(target); 8 window.getSelection().addRange(range); 9 document.execCommand('copy'); 10 target.readOnly = true; 11 } else { 12 target.select(); 13 document.execCommand('copy'); 14 } 15 alert("text copied!!"); 16 } 17 18 const trg = document.getElementById('btn_copy'); 19 trg.addEventListener('click',copyTags);
原因分かりますでしょうか?
回答1件
あなたの回答
tips
プレビュー