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