Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.08.2010, 12:21
Аспирант
Отправить личное сообщение для Bajjy Посмотреть профиль Найти все сообщения от Bajjy
 
Регистрация: 25.09.2008
Сообщений: 33

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&amp;width=130&amp;height=20&amp;skin=SS03-01.jpg&amp;showstop=1&amp;showslider=0&amp;bgcolor1=ffffff&amp;bgcolor2=000000&amp;buttoncolor=000000&amp;buttonovercolor=ffffff&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=666666&amp;textcolor=0&amp;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&amp;width=130&amp;height=20&amp;skin=SS03-01.jpg&amp;showstop=1&amp;showslider=0&amp;bgcolor1=ffffff&amp;bgcolor2=000000&amp;buttoncolor=000000&amp;buttonovercolor=ffffff&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=666666&amp;textcolor=0&amp;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&amp;width=130&amp;height=20&amp;skin=SS03-01.jpg&amp;showstop=1&amp;showslider=0&amp;bgcolor1=ffffff&amp;bgcolor2=000000&amp;buttoncolor=000000&amp;buttonovercolor=ffffff&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=666666&amp;textcolor=0&amp;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
Ответить с цитированием
  #2 (permalink)  
Старый 13.08.2010, 15:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,047

странная строчка
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)
        }
    }
}
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2010, 21:30
Аспирант
Отправить личное сообщение для Bajjy Посмотреть профиль Найти все сообщения от Bajjy
 
Регистрация: 25.09.2008
Сообщений: 33

да, первый раз именно так и писал, однако так не работает в фф.
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2010, 23:07
Интересующийся
Отправить личное сообщение для Lumtesta Посмотреть профиль Найти все сообщения от Lumtesta
 
Регистрация: 31.07.2010
Сообщений: 22

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", "");

}
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2010, 10:22
Аспирант
Отправить личное сообщение для Bajjy Посмотреть профиль Найти все сообщения от Bajjy
 
Регистрация: 25.09.2008
Сообщений: 33

Lumtesta
Ошибка: document.getElementById(fl_obj) is null
в мозилле.
в хроме не работает стоп.

Последний раз редактировалось Bajjy, 16.08.2010 в 10:27.
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2010, 10:40
Аспирант
Отправить личное сообщение для Bajjy Посмотреть профиль Найти все сообщения от Bajjy
 
Регистрация: 25.09.2008
Сообщений: 33

что интересно, в хроме даже вот такая простая штука
<body ondblclick="stop('fl_player3')">

тоже не работает
Ответить с цитированием
  #7 (permalink)  
Старый 16.08.2010, 16:15
Аспирант
Отправить личное сообщение для Bajjy Посмотреть профиль Найти все сообщения от Bajjy
 
Регистрация: 25.09.2008
Сообщений: 33

ошибка где-то в js. но не вижу ее хоть убейте. прошу помощи.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 11:41
вызов JS из Flash viftik Общие вопросы Javascript 3 16.03.2010 14:29
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 15:48
Почему не работает JS с подгруженными в DOM элементами? V-z-z-HobboT jQuery 6 30.03.2009 13:02
GetVariable (flash) не работает под FireFox Vodan Общие вопросы Javascript 2 21.12.2008 16:26