Javascript Flash播放器脚本+;IE8

Javascript Flash播放器脚本+;IE8,javascript,flash,Javascript,Flash,我为第三方软件生成的Flash viewer开发了一个小控制条。它有第一个、上一个、下一个和最后一个按钮以及缩放命令 虽然Zoom在所有浏览器中都能正常工作,但在InternetExplorer8上导航按钮似乎失败了 我至少使用两个函数。这一个定位我要操纵的Flash对象: function getFlashMovieObject(movieName) { if (window.document[movieName]) { return window.document[m

我为第三方软件生成的Flash viewer开发了一个小控制条。它有第一个、上一个、下一个和最后一个按钮以及缩放命令

虽然Zoom在所有浏览器中都能正常工作,但在InternetExplorer8上导航按钮似乎失败了

我至少使用两个函数。这一个定位我要操纵的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];
}

var currentFrame=0;
函数gotoFirst(id)
{
getFlashMovieObject(id+“蓝图”).Rewind();
currentFrame=0;
$(“currentFrame”).innerHTML=currentFrame+1;
$(“frameTitle”).innerHTML=frameTitles[id][currentFrame];
}
函数gotoPrev(id)
{
var movie=getFlashMovieObject(id+“蓝图”);
如果(当前帧>0)
{
当前帧--;
}
movie.GotoFrame(当前帧);
$(“currentFrame”).innerHTML=currentFrame+1;
$(“frameTitle”).innerHTML=frameTitles[id][currentFrame];
}
函数gotoNext(id)
{
var movie=getFlashMovieObject(id+“蓝图”);
如果(currentFrame
顺便说一句,那美元是MooTools,不是jQuery


总之,IE在
movie.TotalFrames()
调用中死亡。我能做些什么来解决这个问题?请记住,我需要通过JavaScript完成此操作,因为我无法编辑SWF。

您可以尝试替换此代码:

if (currentFrame < movie.TotalFrames() - 1)
if(currentFrame
用这个

if (currentFrame < movie.TGetProperty('/', 5) - 1)
if(currentFrame
这没那么好,但却是另一种选择<代码>TotalFrames()应该可以工作