Как минимум, ваш код не работает, потому что здесь есть синтаксическая ошибка - вы не объединяете свое значение "i":
document.getElementById("mySWF").innerHTML =
"<object type=\"application/x-shockwave-flash\" data=\"SWFObjects/test_"i".swf\" width=\"300\" height=\"120\">";
Это должно быть так:
.../test_" + i + ".swf...
Учитывая ваши требования, вам будет гораздо лучше использовать что-то вроде Flowplayer.Если вы просто используете javascript, все, что вы можете сделать, это что-то вроде setInterval (), и javascript не будет ничего знать о состоянии SWF-файла - если что-то мешает SWF-файлу воспроизводиться в течение 10 секунд (или любого другого значения, установленного в интервале), скрипт все равно загрузит следующий SWF - очень хрупкий дизайн.Flowplayer использует плейлисты, где вы можете определить список любой длины, и следующее видео будет воспроизводиться только после завершения предыдущего - независимо от того, сколько времени это займет.Взгляните на этот образец .Я использую JSON для возврата динамических списков переменной длины.Используйте любой доступный серверный язык для проверки вашей файловой системы и возврата списка имен файлов.
Если вы просто не можете использовать Flowplayer, обратите внимание, что синтаксис объекта HTML варьируется в зависимости от браузера / версии.Я вижу, что вы загружаете swfobject.js, но вы не используете никаких функций swfobject.Зачем?Взгляните на swfojbect javascript API .
Тем не менее, следующий скрипт будет обрабатывать функциональность интервала:
var loadSWFObjects = function() {
var i = 1;
var sInt = setInterval(function() {
if(i >= 50) {
clearInterval(sInt);
}else{
i++;
}
document.getElementById("mySWF").innerHTML = "<object type=\"application/x-shockwave-flash\" data=\"SWFObjects/test_" + i + ".swf\" width=\"300\" height=\"120\">";
}, 10000);
}
И просто сделайте это, если хотитепри загрузке страницы:
window.onload = loadSWFObjects;
Если вам нужен более гибкий / современный обработчик загрузки, попробуйте this или google.