Flash CS4 デフォルトで出力されるHTMLファイルから SWFAddress が正常に動作せず
Flash でディープリンク機能を実現するための SWFAddress を試してみることに(バージョンは 2.2)。しかしもっとも簡単なサンプルを作成するも、意図どおりに動作してくれず。
ブラウザの「戻る」「進む」を押すと SWFAddress.CHANGE イベントが実行されるはずなのですが、まったく呼ばれる気配がないのです。
原因は Flash CS4 のパブリッシュで書き出される HTML ファイルの一行目に ドキュメントタイプ宣言がないからだった模様です。SWFAddress のサンプルフォルダ(samples/splash)内にある indes.html ファイル一行目にある ドキュメントタイプ宣言を何も考えずそのままコピペしたら意図どおり正常に動作するようになりました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
ちなみにドキュメントタイプ宣言は一杯あって、それぞれが何を示すのかよく意味がわかっておりません。