1

画面に表示されるまで Flash ムービーを再生せず、画面から消えると一時停止するようにしたいと思います。swf がレンダリングされているか、表示されているか、または EventListener を追加できるブラウザ ウィンドウの表示範囲内にあることを示すイベントをキャプチャする方法はありますか?

4

1 に答える 1

0

Flash の ExternalInterface を使用して、要素が画面外にあるかどうかを確認する JavaScript 関数を呼び出します。JavaScript では、ビューポート プラグインで JQuery を使用して、画面外にあるかどうかを判断します。( http://www.appelsiini.net/projects/viewport )。

私は Viewport プラグインをテストしていませんが、それを使用している人々と話をしたところ、問題なく動作しました。

as3 では:

var returnValue:int = ExternalInterface.call("jsCheckerFunction");

if(returnValue == 1) // your flash is on-screen.

JavaScriptで:

function jsCheckerFunction()
{
    if($("#flashContent:in-viewport").length > 0) 
        return 1; // flash div visible
    return 0; // returns 0 if the element is offscreen  
}

各フレームで jsCheckerFunction を呼び出して、ステータスが変化したかどうかを確認できます。

于 2013-08-17T22:43:38.893 に答える