トップ «前の日記(2009-08-06) 最新 次の日記(2009-08-12)» 編集

Ussy Diary


2009-08-08

[Flash][JavaScript]fork clippy

GitHub でリポジトリ URL をコピーするものに clippy というライブラリが使われていました。 静的な文字列をそのまま渡すシンプルなもので、 MIT ライセンスの元 GitHub で公開されていました。個人的に任意のタイミングでコピーできるものが欲しかったので javascript と連携できるものをつくってみました。

20090213-cjiawnwig8udf5a6qf1c45cne8.png

Repository

http://github.com/ussy/clippy/tree/master

Demo

http://www.pshared.net/demo/clippy/

Download

http://www.pshared.net/pub/flash/clippy/clippy.zip

動作するものとしては clippy.zip にある swf と HTML ページを作成すればいいです。

まず javascript で返す文字列を関数で用意します。

<script type="text/javascript">
  function getKeyword() {
    return document.getElementById("keyword").value;
  }
</script>

<input id="keyword" type="text" />

それから FlashVars の call に先ほど記述した javascript の関数名を書きます。

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        width="110"
        height="14"
        id="clippy">
  <param name="movie" value="clippy.swf"/>
  <param name="allowScriptAccess" value="always" />
  <param name="quality" value="high" />
  <param name="scale" value="noscale" />
  <param name="FlashVars" value="call=getKeyword">
  <param name="bgcolor" value="#ffffff">
  <embed src="clippy.swf"
         width="110"
         height="14"
         name="clippy"
         quality="high"
         allowScriptAccess="always"
         type="application/x-shockwave-flash"
         pluginspage="http://www.macromedia.com/go/getflashplayer"
         FlashVars="call=getKeyword"
         bgcolor="#ffffff"
         />
</object>

あとはローカルでなく WEB サーバー上に html と clippy.swf をアップロードして、 ボタンを Click すると Flash が JavaScript を呼び出し、 JavaScript が返した文字列がクリップボードに入ります。