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, время: 01:14. |