Flashのみで表示中のページの読み込み状況を取得したい

HTML側にJSなどを埋め込んだりせずに
Flash側のみでHTMLページ全体の読み込み状況を知りたい、となって、
調べてみたところ、以下の方法が使用できた。

現在のページの読み込み状況を取得する – JavaScriptプログラミング講座

現在閲覧中のページの読み込み状況を調べるには、document.readyState プロパティを使用します。
以下の文字列が得られます。

  • uninitialized – 初期化されていません。ロードが開始されていません。
  • loading – ロード中です。
  • interactive – DOM オブジェクトの構築は完了しています。画像データなどの読み込みはまだ完了していません。
  • complete – すべての読み込みが完了しています。

なので、Flash側からこのプロパティを呼び出せばわかる、となります。

しかしExternalInterfaceは関数を呼び出すものなので、
プロパティを直接呼び出すことはできません。なので、関数にくるんで返すようにします。

var state:String = ExternalInterface.call("function(){return document.readyState;}");

これでFlash側からHTMLの読み込み状況を(ある程度)知る事ができます。

   このエントリーをはてなブックマークに追加