- 2008年7月30日 13:38
- しらべる
SWFコンテンツのブラウザでのデバッグはいつもなんとなく泥臭いイメージを持っていて、もうちょっとスマートな方法はないものかと思っていたのですが、ひとつのヒントとして、ちょっといい方法が載っていたのでメモ。
FireBugには、デバッグコンソールにページ内のJSコードから任意の内容を出力するためのConsole APIというものが用意されています。FireBugのConsole APIの概要はgihyoの記事
第2回 Firebugによるデバッグの基本,Console APIとその活用
に載っています。
このConsole APIというのは、サイト内のJSから呼び出せるのですが、それをActionScriptのExternalInterface経由で呼び出すConsole APIコンポーネントをつくった方がいました。
ActionScript 3からFirebugを使うas3zerobugを作った
このコンポーネントを使用することにより
console.log("aaaa");
console.debug("bbbb");
console.info("cccc");
console.warn("dddd");
などがActionScriptから使用できるようになるそうです。
SWFを埋め込むHTMLやその他のHTMLページなどのデバッグを既にFireBugで行っている場合は特に、コストの少ない、良い方法ではないでしょうか。
ただし、これはFireFoxでしか検証できないので、最大シェアのIEのことを考えると、、、、と思っていたのですが、面白いものがありました。
Companion.JSというIEの拡張アドオンで、FireBugを模した感じでJavaScriptのデバッグができるツールです。MSの悪名高いスクリプトデバッガをうまくラップしている様です。このCompanion.JSはFireBugのConsole APIもサポートしており、つまり上記のAS3のコンポーネントを使うことができます。
つまり、上記のアドオンをいれておけば、FireFoxでもIEでも同じASデバッグコードをチェックできるわけです。
コンポーネントのつくり事態は非常にシンプルなので、カスタマイズしてさらに柔軟にデバッグすることもできそう。よくよく考えたらFireBugとExternalInterfaceがあれば、コンソールから実行中にASコードを実行とかできるんですよね。いろいろデバッグの可能性がひろがるかも。
