0

私はASPを持っています。C# 2005 をプログラミング言語として使用する Net 2.0 Web サイト。レイアウトにはCSSを使用しています。現在、プレーン/静的な .Gif 画像をヘッダーとして使用しています。ヘッダーにアニメーションを使用して見栄えを良くしたいと思います。いくつかのフラッシュ ユーティリティを使用して、必要なアニメーション バナーをデザインしました。しかし、.swf ファイルを直接使用することができなかったので、使用して表示できる .Gif に変換しました。問題は、元の .swf ファイルのサイズが約 75 Kb であるのに対し、変換された .Gif ファイルは巨大 (約 4.5 Mb) であることです。元の .swf ファイルを表示して速度を向上させたい。

CSS スタイルシートを使用して、.Gif アニメーション バナーを表示しました。.Swf ファイルを直接使用する方法がわかりません。

よろしくお願いします。

ありがとうございました。

ラリット・クマール・バリク

4

2 に答える 2

0

SWFObject を検索できます。これは、フラッシュを埋め込むための非常に優れた標準的な方法です... Google 検索 swfobject は、コード/マークアップです...

ステップ 1: 標準準拠のマークアップを使用して、Flash コンテンツと代替コンテンツの両方を埋め込む

SWFObject のベース マークアップは、ネストされたオブジェクト メソッド (独自の Internet Explorer 条件付きコメントを使用) を使用して、標準に準拠し、代替コンテンツをサポートしながら、マークアップのみによって最適なクロス ブラウザー サポートを保証します。

SWFObject - ステップ 1

  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
    <param name="movie" value="myContent.swf" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
    <!--<![endif]-->
      <p>Alternative content</p>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
  </object>

</div>

注: ネストされたオブジェクト メソッドには、2 つのオブジェクト定義 (Internet Explorer を対象とする外側のオブジェクトと、他のすべてのブラウザーを対象とする内側のオブジェクト) が必要なため、オブジェクト属性とネストされた param 要素を 2 回定義する必要があります。

必須属性:

* classid (outer object element only, value is always clsid:D27CDB6E-AE6D-11cf-96B8-444553540000)
* type (inner object element only, value is always application/x-shockwave-flash)
* data (inner object element only, defines the URL of a SWF)
* width (both object elements, defines the width of a SWF)
* height (both object elements, defines the height of a SWF) 

必須の param 要素:

* movie (outer object element only, defines the URL of a SWF) 

注: Adob​​e のサーバー上の Flash プラグイン インストーラーの URL を指すために codebase 属性を使用しないことをお勧めします。これは、現在のドキュメントのドメインのみへのアクセスを制限する仕様に従って違法であるためです。代わりに Flash プラグインをダウンロードすることで、ユーザーがより豊かなエクスペリエンスを得ることができるという微妙なメッセージを含む代替コンテンツを使用することをお勧めします。HTML を使用して Flash コンテンツを構成するにはどうすればよいですか?

次のよく使用されるオプションの属性を object 要素に追加できます。

* id
* name
* class
* align 

次のオプションの Flash 固有の param 要素を使用できます (詳細)。

* play
* loop
* menu
* quality
* scale
* salign
* wmode
* bgcolor
* base
* swliveconnect
* flashvars
* devicefont (more info)
* allowscriptaccess (more info here and here)
* seamlesstabbing (more info)
* allowfullscreen (more info)
* allownetworking (more info) 

なぜ代替コンテンツを使用する必要があるのですか?

object 要素を使用すると、Flash がインストールされていないかサポートされていない場合に表示される代替コンテンツを内部にネストできます。このコンテンツは検索エンジンにも取り上げられるため、検索エンジンに適したコンテンツを作成するための優れたツールになります。要約すると、プラグインなしで Web を閲覧する人がアクセスできるコンテンツを作成したい場合、検索エンジンに適したコンテンツを作成したい場合、または訪問者に Flash プラグインをダウンロードすることでより豊かなユーザー エクスペリエンスが得られることを伝えたい場合は、代替コンテンツを使用する必要があります。 .

ステップ 2: HTML ページのヘッドに SWFObject JavaScript ライブラリを含める

SWFObject ライブラリは、1 つの外部 JavaScript ファイルで構成されています。SWFObject は読み込まれるとすぐに実行され、DOM がロードされるとすぐにすべての DOM 操作を実行します - IE、Firefox、Safari、Opera 9+ など、これをサポートするすべてのブラウザの場合 - または onload イベントが発生するとすぐに火災:

SWFObject - ステップ 2

<script type="text/javascript" src="swfobject.js"></script>

-->

代替コンテンツ

-->

ステップ 3: Flash コンテンツを SWFObject ライブラリに登録し、SWFObject にそれをどう処理するかを指示します。

最初に、Flash コンテンツを定義する外側のオブジェクト タグに一意の ID を追加します。次に、swfobject.registerObject メソッドを追加します。

  1. 最初の引数 (文字列、必須) は、マークアップで使用される ID を指定します。
  2. 2 番目の引数 (文字列、必須) は、コンテンツが公開される Flash Player のバージョンを指定します。SWF の Flash バージョン検出をアクティブにして、Flash コンテンツを表示するか、DOM 操作を実行して代替コンテンツを強制するかを決定します。通常、Flash のバージョン番号は major.minor.release.build で構成されますが、SWFObject は最初の 3 つの番号のみを参照するため、"WIN 9,0,18,0" (IE) または "Shockwave Flash 9 r18" (他のすべてのブラウザー) ) は「9.0.18」に変換されます。メジャー バージョンのみをテストする場合は、「9.0.0」ではなく「9」のように、マイナー番号とリリース番号を省略できます。
  3. 3 番目の引数 (文字列、オプション) は、Adobe 高速インストールを有効にするために使用でき、高速インストール SWF ファイルの URL を指定します。高速インストールでは、必要なプラグイン バージョンが利用できない場合、Flash コンテンツの代わりに標準化された Flash プラグイン ダウンロード ダイアログが表示されます。プロジェクトには、デフォルトの expressInstall.swf ファイルがパッケージ化されています。また、対応する expressInstall.fla および AS ファイル (SRC ディレクトリ内) も含まれており、独自のカスタム高速インストール エクスペリエンスを作成できます。高速インストールは 1 回 (最初に呼び出されたとき) のみ実行されること、Win または Mac プラットフォームの Flash Player 6.0.65 以降でのみサポートされていること、および 310x137 ピクセルの最小 SWF サイズが必要であることに注意してください。
  4. 4 番目の引数 (JavaScript 関数、オプション) を使用して、SWF ファイルの埋め込みの成功または失敗の両方で呼び出されるコールバック関数を定義できます (API ドキュメントを参照)。

    SWFObject - ステップ 3

      <script type="text/javascript">
      swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
      </script>
    
    </head>
    <body>
      <div>
    
        <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
    
          <param name="movie" value="myContent.swf" />
          <!--[if !IE]>-->
          <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
          <!--<![endif]-->
            <p>Alternative content</p>
          <!--[if !IE]>-->
          </object>
          <!--<![endif]-->
        </object>
      </div>
    </body>
    

于 2010-01-07T00:09:37.707 に答える
0

私はこれを行っていませんが、CodeProjectでいくつかのサンプル コードを見つけました。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="200" height="100">
    <param name="movie" value="<% =swfFileName%>" />
    <param name="quality" value="high" />
    <embed src="<% =swfFileName%>" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="100"></embed>
</object>

これは、あなたがそれを始めるのに役立つはずだと思います。明らかに<% =swfFileName%>、再生したい .swf ファイルへの参照に置き換える必要があります。

于 2009-05-07T08:18:26.463 に答える