2

私のHTMLは:

<object width="800" height="600"
    classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
    codebase="http://fpdownload.macromedia.com/
    pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
        <param name="SRC" value="intros/01/intro.swf" />
        <param name="allowscriptaccess" value="always" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#999900" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
        <embed src="intros/01/intro.swf" width="800" height="600"></embed>
</object>

ボタンフラッシュに次のコードがあります。

on (release) {
    import flash.external.*;
    var isAvailable:Boolean = ExternalInterface.available;
    if( isAvailable ) {
        ExternalInterface.call( "sample" );
    }
}

およびjavascript/jqueryは次のとおりです。

jQuery( document ).ready( function(){

    function sample() {

       alert( 'message' );
    }
});

私は何を間違っていますか?アクション スクリプト 2.0 を使用しています。たとえば、isAvalaible 変数が true かどうかを知るためにフラッシュでテストすると、実際には... true です。

4

4 に答える 4

1

sample() を (document).ready() の中に入れないでください

もう対象外です。準備ができていない限り、正常に動作するはずです。

また、関数宣言であるため、ready の内部では必要ありません。

于 2013-08-25T01:14:21.003 に答える
0

AS2 を作成してからかなり時間が経ちましたが、ここで 2 つの変更点を見つけました。まず、ボタン コードの import ステートメントを削除します。

var isAvailable:Boolean = flash.external.ExternalInterface.available;

次に、あなたが持っているjqueryは無名関数として構造化されています。代わりに、Web ページでこれを試してください。

function sample(){...}
$(sample);

次に、jQuery が初期化されると、sample が呼び出され、sample は他の場所から入手できるようになります。

于 2013-08-25T01:20:56.073 に答える
0

ありがとうございます。私は解決策を見つけました....それはフラッシュプレーヤーのセキュリティと許可に関するものでした...コードのあなたの提案も解決策の一部でした.

于 2013-08-25T15:22:39.290 に答える