js - flash не работает в chrome
Здравствуйте.
Моя проблема состоит вот в чем. На странице есть несколько флеш аудиоплееров. <body bgcolor="#ffffff"> <object type="application/x-shockwave-flash" id="fl_player1" data="player_mp3_maxi.swf" width="200" height="20" onclick = "pl_cntrl(this);"> <param name="wmode" value="transparent" /> <param name="movie" value="player_mp3_maxi.swf" /> <param name="FlashVars" value="mp3=pea.mp3&width=130&height=20&skin=SS03-01.jpg&showstop=1&showslider=0&bgcolor1=ffffff&bgcolor2=000000&buttoncolor=000000&buttonovercolor=ffffff&slidercolor1=cccccc&slidercolor2=999999&sliderovercolor=666666&textcolor=0&showvolume=1"/> <p>install flash</p> </object> <object type="application/x-shockwave-flash" id="fl_player2" data="player_mp3_maxi.swf" width="200" height="20" onclick = "pl_cntrl(this)"> <param name="wmode" value="transparent" /> <param name="movie" value="player_mp3_maxi.swf" /> <param name="FlashVars" value="mp3=buk.mp3&width=130&height=20&skin=SS03-01.jpg&showstop=1&showslider=0&bgcolor1=ffffff&bgcolor2=000000&buttoncolor=000000&buttonovercolor=ffffff&slidercolor1=cccccc&slidercolor2=999999&sliderovercolor=666666&textcolor=0&showvolume=1"/> <p>install flash</p> </object> <object type="application/x-shockwave-flash" id="fl_player3" data="player_mp3_maxi.swf" width="200" height="20" onclick = "pl_cntrl(this)"> <param name="wmode" value="transparent" /> <param name="movie" value="player_mp3_maxi.swf" /> <param name="FlashVars" value="mp3=pop.mp3&width=130&height=20&skin=SS03-01.jpg&showstop=1&showslider=0&bgcolor1=ffffff&bgcolor2=000000&buttoncolor=000000&buttonovercolor=ffffff&slidercolor1=cccccc&slidercolor2=999999&sliderovercolor=666666&textcolor=0&showvolume=1"/> <p>install flash</p> </object> При запуске музыки на одном из них, другой (если музыка была запущена) должен отключать воспроизведение.
<script type="text/javascript">
function play(fl_obj) {
document.getElementById(fl_obj).SetVariable("player:jsPlay", "");
}
function pause(fl_obj) {
document.getElementById(fl_obj).SetVariable("player:jsPause", "");
}
function stop(fl_obj) {
document.getElementById(fl_obj).SetVariable("player:jsStop", "");
}
function volume(n, fl_obj) {
document.getElementById(fl_obj).SetVariable("player:jsVolume", n);
}
function pl_cntrl (obj){
var caller = obj.getAttribute('id')
var pls = 3;
for (var i=1; i<=pls; i++){
var fl_fl = document.getElementById("fl_player"+i).id
if (caller != fl_fl){
stop(fl_fl)
}
}
}
</script>
Вышеприведенный код замечательно работает в firefox, но отказывается работать в chrome. Прошу помочь разобраться почему так происходит. Firefox 3.6.8 Google Chrome 5.0.375.126 |
странная строчка
var fl_fl = document.getElementById("fl_player"+i).id
может так попробовать?
function pl_cntrl(obj) {
var pls = 3;
for (var i = 1; i <= pls; i++) {
var fl_fl = document.getElementById("fl_player" + i);
if (fl_fl != obj) {
stop(fl_fl)
}
}
}
|
да, первый раз именно так и писал, однако так не работает в фф.
|
function play(fl_obj) {
var pls = 3;
for (var i=1; i<=pls; i++){
var fl_fl = document.getElementById("fl_player"+i);
stop(fl_fl.id);
}
document.getElementById(fl_obj).SetVariable("player:jsPlay", "");
}
|
Lumtesta
Ошибка: document.getElementById(fl_obj) is null в мозилле. в хроме не работает стоп. |
что интересно, в хроме даже вот такая простая штука
<body ondblclick="stop('fl_player3')">
тоже не работает |
ошибка где-то в js. но не вижу ее хоть убейте. прошу помощи.
|
| Часовой пояс GMT +3, время: 20:50. |