0

私は最近のプロジェクトで swfobject を使用してきました。しかし、FlashSwitcher を Firefox で起動して実行することができたので、Flash Player 7 を実行しているときに、指定したバージョンよりも古いバージョンを実行しているときに表示される情報がカスタマイズされていることに気付きました (この場合は、 swfobject 埋め込みコードが含まれる Moodle ページ)。添付は、Moodle によって生成された出力 SWF のスクリーンショットです。一部のユーザーにもこれが表示されていることが確認できたので、私の FlashSwitcher は正しく機能しています。

私のユースケースのほとんどは Moodle コンテキストの外にあり、それらはスタンドアロンです。私が求めているのは、彼らがそれをどのようにカスタマイズしたか、カスタマイズを変更する方法、および swfobject 検出がスタンドアロンの場合に同じことを行う方法です。

ユーザーに ExpressInstall を介して Flash Player プラグインをアップグレードするように強制することは、クライアントから嫌われていることに注意してください。クライアントは提案的なアクションとリンクを望んでいますが、自動インストールなどは望んでいません。

ユーザーが Flash、Javascript、またはその両方を持っていない場合に非 Flash コンテンツを表示するためのアクセシビリティ要件があるため、私の実装では「2 回調理」メソッドを使用します。以下は、YUI2 ドキュメントのロード イベントが発生したときに実行される埋め込みメソッドの呼び出しです。

swfobject.embedSWF("../../swf/video-loader.swf", "flash_object_a", "877", "400", "8.0");

最終的には、この「古いバージョン」の出力をカスタマイズして、私が作成/作成したものにしたいと考えています。

Moodle コンテキストでの swfobject 2.1 旧バージョン通知のスクリーンショット

乾杯、d

4

1 に答える 1

1

swfobject のgetFlashPlayerVersionメソッド (ここで説明) を使用して、Flash Player のバージョンを確認し、適切なアクションを実行できます。

簡単な例は次のとおりです。

var has_version_8_or_greater = swfobject.hasFlashPlayerVersion("8");

if(has_version_8_or_greater){
   //embed SWF using SWFObject
} else {
   //Check to see whether an older version of Flash is found.
   var version = swfobject.getFlashPlayerVersion();
   if(version.major > 0){
      //You have Flash but it's too old.
      var version_str = version.major + "." + version.minor + "." + version.release;
      alert("You have Flash Player version " + version_str + ". Please update!");
   } else {
      //You don't have Flash.
   }
}
于 2011-01-05T17:46:31.303 に答える