[Javascript-便利なスクリプト] JavaScriptでクリップボードを使う(IE/Firefox)
Flash Player 10からの仕様変更でFireFoxへのコピーが行えなくなったようです。 現在の最新の環境で有効な方法ではありません。 新たに方法を見つけ次第報告致します。 参考:Flash Player 10 のクリップボードに関連する変更
FireFoxでもクリップボードに文字列をコピーできる方法を紹介します。 IEでは以下のような1行のスクリプトで簡単にクリップボードへの文字列のコピーが行えます。
clipboardData.setData("Text", "Hello");
しかし、これはFireFoxでは動作しません。 じゃあ、どうすればFireFoxでもクリップボードに文字列をコピーできるかというと、ブラウザに依存しない手段を活用するというのが妥当ですね。 以下のサイトで、そのブラウザに依存しない方法が紹介されています。 Unoh Labs: JavaScriptでクリップボードを使う(IE/Firefox) 上記のサイトではブラウザに依存しない"Flash"を経由させての文字列コピーを実現しています。 ある意味、力技ですよねこれ。 でも、この方法以外思いつかないのが事実ですが(笑 使い方や、技術的な説明はリンク先を参照してください。 簡単に、使用方法についてのアウトラインのみ書いておきます。 1.JavaScriptでクリップボードを使う(IE/Firefox)からファイルをダウンロードしてきます。 2.使用するWebページから参照可能な位置にダウンロードしてきたファイルを解凍し、設置します。 3.設置した環境に合わせて clipbrd.js を編集します。 (swf_pathにclipbrd.swfが実際に設置されているPATHを設定します) 4.以下のようにjsファイルを2個読み込みます。ファイルのPATHは環境に合わせて変更してください。
<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="clipbrd.js"></script>
使う準備としては、以上のような感じになります。 実際のサンプルソースを以下に記します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>clipbrd.js</title> </head> <body> <script type="text/JavaScript" src="../../js/clipbrd/swfobject.js"></script> <script type="text/JavaScript" src="../../js/clipbrd/clipbrd.js"></script> 以下のテキストボックスをクリックすると、文字列がクリップボードにコピーされます。<br /> <input type="text" onclick="this.focus(); this.select(); clipbrd.copyText(this.value);" value="Hello World"> </body> </html>
上記コードの動作サンプル
「Javascript」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
作成日:2008年08月07日(Thu) / 更新日:2008年12月02日(Tue)