Update la articolul Flash > Javascript > Kill IE:
M-au atras unii si altii atentia ca time-out-ul de 1-2 secunde despre care vorbeam este total irelevant pe o conexiune lenta, unde paginile se incarca in mai mult de 2 secunde. Asa e, pe conexiuni lente rezolvarea cu un mic timeout in Flash inaintea executarii js-ului nu e buna. Asa ca am mutat “timeout-ul” din Flash direct in JS:
1. Setam un setInterval:
var int = setInterval("action()",50);
2. Setam numele (name / id) SWF-ului in cauza, ca sa-l putem identifica si ca sa putem proba ca s-a incarcat in cache inainte de a trece mai departe:
var movieName = "flashul_meu";
3. Cream functia action():
function action() {
//verificam daca swf-ul cu pricina s-a incarcat
if (movieIsLoaded(thisMovie(movieName))) {
mumu(); //apelam ce vroiam sa apelam din Flash
clearInterval(int); //stergem setInterval-ul
}
}
Cam asta e. Codul respectiv il poti pune oriunde (la inceputul / la sfarsitul paginii, intr-un fisier js extern etc.) – el va rula in liniste pana la incarcarea swf-ului, dupa care se va auto-termina.