1

現在、jQuery と swfObject を使用して、swf ムービーを Web ページに動的に埋め込んでいます。

現在、immem の音楽プレーヤーを自分の Web ページに埋め込む際に問題が発生しています。埋め込みコードには読み込み画面がないためです。そのため、swfObject を使用して要素を置き換えると、その領域は通常空白になります。最悪の場合、埋め込み曲が読み込まれていることをユーザーが認識できないことを意味します。

そのため、フラッシュがロードされた後にイベントをバインドする方法を見つけようとしています。私の計画では、巨大な画像をz-index上に配置し、このトリガーを使用して画像を非表示にします。を使用しようとしたと思いますが$('#embed').load(function(){ ... });、運がありません。

誰かがこれに対する解決策を持っていますか? フラッシュをハッキングしてフラッシュファイルに「ローダー」を追加したくないので、それが可能かどうか疑問に思っています。

もう少し注意:より明確にするために、imeem の音楽プレーヤーを自分の Web ページに埋め込みたいと考えています。つまり、私は実際にフラッシュ ファイルを制御することはできません。つまり、自分でフラッシュ ファイルを作成することはできません。

4

4 に答える 4

2

通常、最も簡単な方法は<body onload="..."、ハンドラーを呼び出す前に外部リソースの読み込みが完了するのを待つ単純なol'です。

ただし、swfObjectを使用して組み込みプラグインを動的に追加している場合、ブラウザーはフラッシュムービーを除く本体のオンロードを起動します(プラグインについては何も知りません)。

あなたと同様の議論については、http://blog.deconcept.com/swfobject/forum/discussion/271/javascript-onload-event-does-not-reflect-page-load-using-swfobject/を参照してください。元のswfをなんらかの方法で変更しないと、やりたいことができないと思います。

于 2009-01-10T16:07:59.510 に答える
0

画像やHTMLでフラッシュを覆い隠す場合は、wmode=transparentが必要です。

于 2009-01-11T07:58:53.553 に答える
0

window.load()を使用する上記の解決策の問題は、メインのswfの重みが1 kbしかない場合は役に立たないが、実際には何も表示されないことです(追加のコンテンツをロードするコンテナーであることが多く、フラッシュファイルの場合。

私がすることは、FlashプレーヤーがFlashファイルを含むhtmlファイルで利用可能なjavascript関数と通信できるようにするActionscriptのExternalInterfaceクラスを使用することです。フラッシュファイルにjavascript関数を呼び出して、フラッシュの準備ができたことをjavascript処理スクリプトに通知する関数をトリガーすることができます。これの良いところは、javascriptが引き継ぐときにフラッシュファイルにロードする必要があるものを正確に制御できることです。

ExternalInterfaceの使用の詳細については、次を参照してください:http: //blog.circlecube.com/2008/02/01/actionscript-javascript-communication/

于 2009-01-11T20:21:37.920 に答える
0

これは、Flash ムービー内から行うことができます。ただし、その場合、ムービーを制御する必要があります (制御できない場合があります)。

于 2009-01-10T12:59:00.467 に答える