« Comet の正しい使い方 | メイン | キーワード抽出のススメ (Lingua::JA::Summarize がアップデート) »

2007年03月14日

JavaScript から Flash の便利な機能を使う方法

先月・今月と新しいメンバーが加わったサイボウズ・ラボですが、いま社内でfont-familyが密かなブームです。ということで、ブラウザで使用できるフォント名一覧をJavaScriptで取得する方法について調べてみました。
(中略)
■ 2. Flash の TextField.getFontList() を JavaScript から呼び出す

(TAKESAKO @ Yet another Cybozu Labs: JavaScriptでフォント名一覧を取得する3つの方法)

 JavaScript から Flash のちょっとした機能を呼び出すためだけに、毎回 Flash 使いの人にお願いするのを心苦しく思うようになったので、汎用的な SWF を作ってみました。


 上のコードは、パソコンのメモリ量と IME の状態、インストールされているフォント一覧をクリップボードに保存します。また、テキストフィールドのオン・オフを自動的にセットするといった使い方も可能です。

日本語のフィールド: (自動的に IME がオンになります)
英語のフィールド: (自動的に IME がオフになります)

 興味のある方は、flashy.swf をダウンロードしてお使いください。使い方は、以下のような感じで自分の HTML でインクルードして呼び出すだけです。

var tags = '<object id="flashy" name="flashy" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" data="flashy.swf" width="1" height="1"><param name="movie" value="flashy.swf" /></object>';
if (! navigator.userAgent.toString().match(/MSIE/)) {
  tags = tags.replace(/codebase=".*?"/, '').replace(/classid=".*?"/, 'type="application/x-shockwave-flash"');
}
document.write(tags);
</script>
<script language="JavaScript">
var flash = document.getElementById('flashy');

flash.setStatic('flash.system.IME.enabled', true); // IME オン
</script>

 ちなみに、より高度なネタとしては、id:brazil さんの FlashProxy があります。Flash のオブジェクトを生成したくなってきたら、そちらへどうぞ。

17:28追記:
 Adobe Flex 2 SDK で作成したため、Flash 9 が必須のようです。ショック... orz

投稿者 kazuho : 2007年03月14日 15:29 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

トラックバック

このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/1137

このリストは、次のエントリーを参照しています: JavaScript から Flash の便利な機能を使う方法:

» 入力欄日本語英語自動切り替え from ふらっと
Shibuya.esの資料経由でKazuhoさんのFlassy.swfについてのエントリーを知りました。そもそもJavaScriptからFlashをいじ... [続きを読む]

トラックバック時刻: 2007年03月31日 20:09

» [Javascript][FCKeditor]さくっとつくった FCKeditor マイ設定 from hick の技術記録
FCKeditor のデフォのフォントリストが貧弱だよ ↓ 追加するには一つ一つ設定していかなきゃだよ ↓ めんどいからローカルにあるやつ全部つっこもう... [続きを読む]

トラックバック時刻: 2008年03月26日 21:03