document.execCommand("copy")
が選択した要素の文字列のみしかコピー出来ないので、
一時的に要素を作って、選択してコピーする。
const copyToClipboard = s => { const d = document; // copy用の一時要素を作成し、文字を入れる const t = d.createElement('pre'); t.textContent = s; // 表示されていないとコピー出来ないのでbodyに追加する d.body.appendChild(t); // 追加した要素を選択しコピーする // コピー後に追加した要素を消すので画面上はほぼ影響がない d.getSelection().selectAllChildren(t); d.execCommand('copy'); d.body.removeChild(t); } document.getElementById('button').onclick = () => copyToClipboard(Date());
↓ボタンを押すと現在時刻がクリップボードにコピーされる。