Замена HTML и SWF (отображение HTML, когда SWF-файл загружается до 100%) - PullRequest
0 голосов
/ 06 августа 2009

Это то, чего я хочу достичь.

  1. Во время загрузки SWF-файла div оболочки отображает HTML-контент (например, текстовый контент).
  2. Когда SWF-файл загружен на 100%, он заменяет текстовое содержимое в оболочке div , а затем воспроизводится в оболочке div .
  3. По завершении воспроизведения файла swf он заменяется предыдущим текстовым содержимым.

(Это больше похоже на обмен html на swf на html внутри div)

есть мысли, если это возможно, или какие-то другие обходные пути?

Большое спасибо всем, кто мог бы поделиться.

Ответы [ 2 ]

0 голосов
/ 07 августа 2009

HTML и Flash в одном div. Так как вы не можете скрыть SWF. Этот трюк состоит в том, чтобы вытолкнуть его за пределы экрана:

<div id="wrapper">
    <div id="flashWrapper" style="position:relative; left:-2000px;">
        <object>flash embed code</object>
    </div>
    <div id="loading">Flash is loading...</div>
</div> 

Более надежно, чтобы SWF вызывал функцию JS с ExternalInterface, когда он закончил. Но вы можете проверить это через JS:

<script>
    var v = setInterval(function(){
        if(flashMovie.PercentLoaded() == 100){
            document.getElementById("flashWrapper").style.left = "0px";
            document.getElementById("loading").style.display = "none";
            clearInterval(v);
        }
    });
</script>

Если вы вставляете SWF-файл динамически, обязательно подождите миллисекунду, прежде чем получить к нему доступ.

0 голосов
/ 06 августа 2009

Самый простой способ сделать это - вызвать функцию Div-Swapping из ActionScript в вашем фильме.

Вы можете позвонить, когда фильм загружен на 100%, а затем снова из «последнего кадра» фильма, так что вы получите флэш-фильм с надписью «покажи мне», а затем «спрятать меня».

...