Я нашел решение, которое работает.Это может быть полный взлом, но он работает во всех браузерах, в которых он мне нужен.
Сначала я изменил способ обнаружения IE, как предложено @stealthyninja.Тогда я решил попробовать полностью перезагрузить флэш-память вместо того, чтобы просто поменять имя файла SWF.Первая флэш-память загружается с использованием метода динамической публикации swfobject.js.Поэтому я перезагружаю последующие кадры таким же образом.Я хотел использовать innerHTML для этого, но мне не нравилось пытаться добавить в него javascript.Поэтому я добавил пустой блок javascript в div содержимого flash и использовал innerHTML для загрузки вызова swfobject внутри него.(Надеюсь, это имеет смысл и не является совершенно обратным способом сделать это.) Код приведен ниже.
<script type="text/javascript">
var isIE =false;
</script>
<!--[if IE]>
<script type="text/javascript">
isIE = true;
</script>
<![endif]-->
<script type="text/javascript">
var flashvars = {};
var params = {};
params.play = "true";
params.loop = "false";
params.menu = "false";
params.quality = "best";
params.wmode = "window";
params.bgcolor = "#FFFFFF";
params.allowscriptaccess = "sameDomain";
var attributes = {};
attributes.align = "middle";
swfobject.embedSWF("swf/frame_01.swf", "flashPlayer", "100%", "100%", "9.0.0", false, flashvars, params, attributes);
var i=0;
var swfFrame=new Array();
swfFrame[0]='frame_01.swf';
swfFrame[1]='frame_02.swf';
swfFrame[2]='frame_03.swf';
var paragraphTxt=new Array();
paragraphTxt[0]='caption 1';
paragraphTxt[1]='caption 2';
paragraphTxt[2]='caption 3';
function nextFrame(x){
i = i+x;
//alert("i+x = " + (i));
if(i>=swfFrame.length){
i=i-1;
window.open('quiz.html');
}else{
document.getElementById("framenum").innerHTML = (i+1) + " of " + swfFrame.length;
document.getElementById("paragraph").innerHTML = paragraphTxt[i];
if(isIE){
// IE
document.getElementById("flashPlayer").movie = "swf/" + swfFrame[i];
}else{
document.getElementById("newScript").innerHTML = swfobject.embedSWF("swf/" + swfFrame[i],"flashPlayer","100%","100%","9.0.0",false,flashvars,params,attributes);
}
}
if(i>0){
document.getElementById("button_Bck").style.visibility = "visible";
}else{
hideBack();
}
}
Разделение местоположения содержимого Flash с недавно добавленным блоком JavaScript:
<div id="flash">
<script type="text/javascript" id="newScript">
</script>
<div id="flashPlayer">
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
</div>
</div>