Я создаю тест, и в качестве таймера в тесте у меня есть флэш-фильм (анимированные часы). Я опрашиваю часы каждую секунду, чтобы узнать, не истекло ли время для викторины.
Код для этой функции выглядит следующим образом: (упрощенно)
$(window).load(function() {
var flashMovie = getFlashMovieObject(flashId);
var timeElapsed = flashMovie.GetVariable("timeElapsed");
var timeSet = flashMovie.GetVariable("countdown");
var degrees = flashMovie.GetVariable("degrees");
var timerStatus = flashMovie.GetVariable("timerStatus");
});
Прежде всего, он просто выбирает объект flash-ролика, а затем вызывает некоторые методы для объекта. Это прекрасно работает в Firefox (pc & mac), Safari (mac), но в IE8 на ПК он возвращает «неожиданную ошибку в строке 3» (или любую другую строку, которая использует объект flashMovie).
Код для функции getFlashMovieObject () выглядит следующим образом:
function getFlashMovieObject(movieName)
{
if (navigator.appName.indexOf ("Microsoft") !=-1) {
return window[movieName];
}
return document[movieName];
}
Любая помощь приветствуется!
ОБНОВЛЕНИЕ: Я выяснил, что если установить IE8 очистить кэш для каждой перезагрузки, то это происходит. Если я этого не сделаю, то произойдет сбой только в первый раз, и все последующие перезагрузки будут работать нормально.
Я не понимаю, как кеш может решить эту проблему.