2010-07-25 18 views

Odpowiedz

0

Może mógłbyś użyć skryptu keep alive w twoim pliku AS3, który rozmawia ze stroną js, jeśli js nie otrzyma połączenia przez kilka sekund, możesz mieć czas i poradzić sobie z nim jak z awarią flash .

8

Nie jestem pewien, czy to działa, czy nie. Można okresowo uzyskać odwołanie do obiektu Flash i sprawdzić, czy ma on metodę SetVariable.

function checkFlashCrashed() { 
    try { 
     var tmp = document.getElementById("flashObjectId").SetVariable; 
     if(!tmp) { 
     alert("Flash crashed"); 
     return; 
     } 
    } catch (e) { 
     alert("Flash crashed"); 
     return; 
    } 
    setTimeout(checkFlashCrashed, 1000); // check it out every one second 
} 

SetVariable to funkcja interfejsu, którą można wywołać z kodu JavaScript. Jeśli flash zawiesza się, jego interfejs również powinien ulec awarii. Dlatego może to być rozwiązanie.

+0

Nie działa ... – Nabab

+0

+1. Działa jak urok w Chrome 23.0.12.71. Niestety OP był nowicjuszem/trollem. –

+0

To wydaje się być prawidłową i poprawną odpowiedzią, ale OP nadal nie obchodzi :). – Zafer

1

Obsługa wyjątków globalnych w języku ActionScript w celu wywołania interfejsu zewnętrznego w UncaughtErrorEvent.UNCAUGHT_ERROR.

Gdy wystąpi błąd w środowisku wykonawczym Flash Player, może wychwycić wyjątek i sygnalizować JavaScript.

+1

tak, ale co z tym, że nie masz dostępu do kodu swojego odtwarzacza? Na przykład: odtwarzacz youtube ulega awarii na stronie, jak wykrywać? – Skay

0

Zależy od tego, co myślisz o fałszywych alarmach.

Możesz mieć watchdoga, który wykona wywołanie ajax "Flash się nie zawiesił", jeśli flash nadal działa. I przypuszczam, że flash rozbił się, jeśli nie został napisany. Spowoduje to utworzenie fałszywych alarmów, jeśli użytkownik zamknie stronę przed sprawdzeniem.

Możesz mieć watchdoga, który wykona wywołanie ajax "Flash się zawiesił", jeśli flash nie działa. To pominie awarie, na przykład awarię, która zabije całą przeglądarkę.

Być może możesz mieć oba psy stróżujące, dzięki czemu masz lepsze pojęcie o tym, co się dzieje.

Powiązane problemy