結局イイカンジには出来ませんでした。
W3Cさん何とかしてくれぇ!
実行環境
まず実行環境が制限されます。
ChromeとFirefoxくらいでしか動きません。(少し修正すればIEも可能?)
Chrome バージョン 46.0.2490.71 m (64-bit)
FireFox 41.0.1
サンプルソース
<html>
<head>
<meta charset="UTF-8">
<title>クリップボードにコピー</title>
<script type="text/javascript">
function copyClipboard()
{
// Ctrl + c を押すことで以下が実行される
document.addEventListener('copy', function(e) {
// コピーする対象を取得
var copySource = document.getElementById("source").value;
var userAgent = window.navigator.userAgent.toLowerCase();
e.preventDefault();
// Chrome, fireFox のみ
e.clipboardData.setData('text/plain', copySource);
});
}
</script>
</head>
<body>
<div>
コピー対象:
<input type="text" id="source" name="name" />
</div>
<input type="button" value="クリップボードへコピー" onclick="copyClipboard()" />
</body>
</html>
実行テスト
コピー対象:
これでボタンを押したらコピー出来...ない!?
Ctrl + c を押す必要があるらしい。
document.addEventListener('copy', function(e)...の部分がCtrl + c を押した時に発火される模様。
セキュリティとかの問題があるのはわかるけどもうちょっとこう...なんとかならなかったんだろうか?
というわけで2015/10/27現在クリップボードへコピーする完全な方法はないみたいですね。というかこれそのうち使えなくなりそうですね。
え?Flash?またまたご冗談を。