Я разработал небольшую панель управления для средства просмотра Flash, созданного сторонним программным обеспечением.Он имеет кнопки «Первый», «Предыдущий», «Следующий» и «Последний», а также команду «Масштаб».
Хотя «Масштаб» отлично работает во всех браузерах, кнопки навигации в Internet Explorer 8 не работают.как минимум две функции.Этот объект находит Flash-объект, которым я хочу манипулировать:
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
... и любой из них обрабатывает навигацию по фрейму:
var currentFrame = 0;
function gotoFirst(id)
{
getFlashMovieObject(id + "Blueprints").Rewind();
currentFrame = 0;
$("currentFrame").innerHTML = currentFrame + 1;
$("frameTitle").innerHTML = frameTitles[id][currentFrame];
}
function gotoPrev(id)
{
var movie = getFlashMovieObject(id + "Blueprints");
if (currentFrame > 0)
{
currentFrame--;
}
movie.GotoFrame(currentFrame);
$("currentFrame").innerHTML = currentFrame + 1;
$("frameTitle").innerHTML = frameTitles[id][currentFrame];
}
function gotoNext(id)
{
var movie = getFlashMovieObject(id + "Blueprints");
if (currentFrame < movie.TotalFrames() - 1)
{
currentFrame++;
}
movie.GotoFrame(currentFrame);
$("currentFrame").innerHTML = currentFrame + 1;
$("frameTitle").innerHTML = frameTitles[id][currentFrame];
}
function gotoLast(id)
{
var movie = getFlashMovieObject(id + "Blueprints");
currentFrame = movie.TotalFrames() - 1;
movie.GotoFrame(currentFrame);
$("currentFrame").innerHTML = currentFrame + 1;
$("frameTitle").innerHTML = frameTitles[id][currentFrame];
}
Кстати, $ это MooTools, а неjQuery.
В любом случае, IE умирает при вызове movie.TotalFrames()
.Что я могу сделать, чтобы решить эту проблему?Имейте в виду, что нужно , чтобы сделать это через JavaScript, так как я не могу редактировать SWF.