永田順伸のブログ

クリックするだけでクリップボードにコピー

JavaScriptを使ってクリックをするだけで入力欄の文字列をクリップボードにコピーする機能をosCommerceの管理画面に追加した。
IEはもっと簡単にできるが、それ以外のブラウザでは機能しない。
他のブラウザでもクリップボードにコピーするためにZero Clipboardを導入してみた。
Zero ClipboardはAdobe Flashの機能を利用してクリップボードにコピーするライブラリだ。
開発者のサイトからダウンロードして利用した。
http://code.google.com/p/zeroclipboard/

サンプルがあったので、動作を確認した。
http://code.google.com/p/zeroclipboard/wiki/Instructions

次に、osCommerceの新しい管理画面に追加したが、
同じように動作しない。時間をかけて細かく確認したがまったく動作しない。
数時間、あれこれ調べて、
var clip = new ZeroClipboard.Client();というコードの位置が問題だとわかった。
通常のJavaScriptの作り方のようにheadタグの中に書き込むとまったく動作しなくなる。
位置によってFlashを読み込めないようだ。
正解は、
<input type=”text” id=”clip_text” size=”40″ value=”Copy me!”/><br/><br/>
<div id=”d_clip_button”>Copy To Clipboard</div>
の下で、 var clip = new ZeroClipboard.Client();を実行するように構成すること。

残念なことに、この便利なツールの開発者は忙しいため開発を中止するという。

移転先はこちら。
https://github.com/jonrohan/ZeroClipboard

モバイルバージョンを終了