3

質問はかなり自明だと思います。誰もこれを以前にやったことがありますか?

更新:なぜこれを行う必要があるのか​​ についての説明。大きなビデオ ギャラリー セクションを備えた AS1 - AS2 サイトの 1 つの swf ビヒモスがあります。クライアントは、AS2 コードが最近のはるかに大きなビデオ ファイルを処理できないため、ビデオ セクションを更新したいと考えています。クライアントは、サイト全体を更新するために支払うことはありません。そのため、そのセクションに移動したときに既存のサイトに AS3 ベースのビデオ ブラウザーとプレーヤーをオーバーレイできるようにしたいと考えています。これにより、サイトの残りの部分は既存の AS2 コードで正しく動作します。

物事をもう少し明確に説明してくれることを願っています!

4

1 に答える 1

4

AS3なのかAS2なのかは関係ないと思います。

Webブラウザーの観点からは、どちらも「FlashPlayerプラグイン」というブラックボックスです。プラグインのインストールできるバージョンは一度に1つだけなので、AS2とAS3 swfを使用していても、Webブラウザーは「FlashPlayerプラグインバージョン10」のインスタンスが2つあることを認識します。

あなたがやろうとしているように見えることを煮詰めるのは:

  1. ページを作成:
  2. その中にswfを貼り付けます
  3. ページにdivを追加し、CSSポジショニングを使用して他のswfの「上」に配置します
  4. そのdivに別のswfを貼り付けます。

それで、これは機能しますか?-いいえはい、非常にうまくいきましたがwmode="transparent"、埋め込まれたフラッシュオブジェクトを設定する必要があります(コメントのgrapefruktに感謝します)。

私はテストを実行しました:これが私のソースコードです:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <style type="text/css" media="screen">
            DIV{ width: 300px; height; 300px;}
            #background{ border: 1px solid green; background-color: green; z-index: 0; }
            #foreground{ border: 1px solid red; background-color: red; z-index: 50; }
        </style>
    </head>
    <body>
        <div id="background">
            <embed height="208" width="208" quality="high" bgcolor="#fff" src="bgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
        </div>  

        <div id="foreground" style="position: absolute; left: 30px; top: 30px;">
            <embed height="208" width="208" quality="high" bgcolor="#fff" src="fgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
        </div>  

    </body>
</html>

結果:

がないwmode=transparentと、FirefoxとIEで一貫性がなくなり、わずかに壊れます。これを使用すると、IEとFirefoxの両方で必要と思われることを正確に実行できます。
swfファイルは(レイアウトの観点から)単なる画像のように動作します。かっこいいね。

于 2008-12-10T21:08:26.883 に答える