Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Flash

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Конфликт выполнения скрипта и загрузки звукового файла
 
 автор: pautina   (16.06.2011 в 19:43)   письмо автору
 
 

Здравствуйте Уважаемое сообщество.
Ни подскажете почему идёт конфликт выполнения скрипта при загрузке звука.
Звук грузится на странице по участку этого кода

<object width="225" height="16">  
                    <param name="movie" value="fon_music.wav" />  
                    <param name="quality" value="high" />  
                    <param name="bgcolor" value="#FFFFFF" />  
                    
                    <embed src="fon_music.wav" 
                    quality="high" 
                    bgcolor="#FFFFFF" 
                    autostart="true" 
                    width="225" 
                    height="16" 
                    align="center" 
                    type="audio/mid" 
                    pluginspage="http://www.macromedia.com/go /getflashplayer">
                    </embed>  
                </object>

Но при выполнении этого кода не работает скрипт который меняет картинки?
Можно ли это как то исправить?

  Ответить  
 
 автор: cheops   (16.06.2011 в 19:54)   письмо автору
 
   для: pautina   (16.06.2011 в 19:43)
 

Ммм... а скрипт, который меняет картинки как выглядит? И в каком браузере дело происходит?

  Ответить  
 
 автор: pautina   (17.06.2011 в 06:24)   письмо автору
 
   для: cheops   (16.06.2011 в 19:54)
 

Это касается браузера Opera
Скрипт меняющий картинки

<style> 
#mTBL {visibility: hidden} 
#mTBL img {width: 135px; height: 87px} 
</style> 
<script> 
//Предзагрузка всех 13-ти картинок 
for (var p = new Array (), j = m = 0; j < 3; j++) for (var k = 0; k < 4; k++) 
   {p [m] = new Image ();  p [m++].src = 'img' + j + '' + k + '.jpg'} 
p [m] = new Image ();  p [m].src = 'img-ferst.jpg'; 

//Собственно скрипт смены картинок 
var v = 2000, x, y = new Array (), z; 
function F () 

x = document.getElementById ('mTBL'); 
y [0] = y [1] = y [2] = '0123'; 
for (var j = 0, w = x.getElementsByTagName ('IMG'); j < w.length; j++) 
w [j].src = 'img-ferst.jpg'; 
x.style.visibility = 'visible'; 
z = window.setTimeout ('S ()', v); 

function S () 

for (var q, j = 0; j < 3; j++) 
   { 
   q = y [j].charAt (parseInt (Math.random () * 12345) % y [j].length); 
   x.rows [j].cells [q].firstChild.src = 'img' + j + '' + q + '.jpg'; 
   y [j] = y [j].replace (new RegExp (q, ''), ''); 
   } 
if (y [0].length) window.setTimeout ('S ()', v) 
else window.setTimeout ('F ()', v); 
}  
onload = F; 
</script> 
<body> 
<table id="mTBL" cellpadding="0" cellspacing="0"> 
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr> 
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr> 
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr> 
</table> 
</body>

Участок кода для загрузки звука

<object width="225" height="16">   
                    <param name="movie" value="fon_music.wav" />   
                    <param name="quality" value="high" />   
                    <param name="bgcolor" value="#FFFFFF" />   
                     
                    <embed src="fon_music.wav"  
                    quality="high"  
                    bgcolor="#FFFFFF"  
                    autostart="true"  
                    width="225"  
                    height="16"  
                    align="center"  
                    type="audio/mid"  
                    pluginspage="http://www.macromedia.com/go /getflashplayer"> 
                    </embed>   
                </object>

Вместе они не работают, можно ли это исправить?

  Ответить  
 
 автор: cheops   (17.06.2011 в 10:20)   письмо автору
 
   для: pautina   (17.06.2011 в 06:24)
 

Хм... у меня работают, правда без изображений (если честно, пока не вижу, как JS-код может нарушать работу <object>, если только он не захватывает весь канал для загрузки изображений). Какие изображения нужны для работы со скриптом?

  Ответить  
 
 автор: pautina   (17.06.2011 в 13:51)   письмо автору
 
   для: cheops   (17.06.2011 в 10:20)
 

Изображения jpeg (img00.jpg,img01.jpg...img23.jpg)

  Ответить  
 
 автор: 0987654   (17.06.2011 в 13:59)
 
   для: pautina   (17.06.2011 в 13:51)
 

Попробуйте строку onload = F; из скриптового блока убрать и пропиcать <object width="225" height="16" onload="F ()">

  Ответить  
 
 автор: pautina   (17.06.2011 в 17:11)   письмо автору
2.1 Мб
 
   для: 0987654   (17.06.2011 в 13:59)
 

Так в опере не работает.
Ни посмотрите архив, там всё файлы.

  Ответить  
 
 автор: cheops   (17.06.2011 в 18:41)   письмо автору
 
   для: pautina   (17.06.2011 в 17:11)
 

Что-то у вас конфликтует при назначении цепочки обработчиков для onload, мне удалось запустить и фоновую музыку и JavaScript-ы под Opera после того, как я воспользовался конструкцией $(document).ready() библиотеки jQuery, которая берет на себя разруливание в различиях моделей событий. Вместо прямого манипулирования onload, использовалась следующая констркцию
    $(document).ready(function (){
       {
        var CONTENT = document.getElementById('content').offsetHeight;  
        var LS = document.getElementById('sideLeft').offsetHeight;  
        if(CONTENT<LS) {  
            document.getElementById('content').style.height = LS+'px';  
        } 
        if(CONTENT>LS) {  
            document.getElementById('sideLeft').style.height = CONTENT+'px';  
         } 
        }
        F();
      });
Тут следует еще учесть, что onload ждет загрузки всего, в том числе и файла фоновой музыки. Возможно в Opera глючит момент загрузки фоновой музыки, скорее всего она полагается на события плагина Abode, которые не всегда срабатывают, для Adobe и музыкальных файлов это вообще характерно - очень часто события глючат. В отличие от onload, метод ready() не ждет загрузки изображений и музыки - он только дожидается загрузки документа DOM. Если вам религия не запрещает использовать jQuery - это может быть выходом из ситуации.

  Ответить  
 
 автор: pautina   (18.06.2011 в 06:37)   письмо автору
 
   для: cheops   (17.06.2011 в 18:41)
 

А можно сделать загрузку музыки скриптом?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <title>Фоновая музыка панелью управления и случайным выбором композиции (с названием композиции)</title>
 </head>
 <body>
 <SCRIPT LANGUAGE="JavaScript">
 song = new Array(6);
 title = new Array(6);
 song[0] ='sound/0.mid'
 song[1] ='sound/1.mid'
 song[2] ='sound/2.mid'
 song[3] ='sound/3.mid'
 song[4] ='sound/4.mid'
 song[5] ='sound/5.mid'
 song[6] ='sound/6.mid'
 title[0] = 'ДДТ Что такое осень'
 title[1] = 'Любе Комбат'
 title[2] = 'Машина времени Костер'
 title[3] = 'Машина времени Марионетки'
 title[4] = 'ДДТ Что такое осень'
 title[5] = 'ДДТ Ветер'
 title[6] = "ДДТ Последняя осень"
 index = Math.floor(Math.random() * song.length);document.write("<DL>\n");
 document.write("<EMBED SRC="+song[index]+" width=300 height=28 autostart=true loop=infinite");
 /*width=300 height=28 размиры панели управления*/
 document.write(' TEXT="#FFFFFF">');
 document.write("<font face=arial>");
 document.write(" ");
 document.write("<font face=arial color=red>");
 document.write(title[index]);
 document.write("</font>")
 document.write("</DL>\n");
 </SCRIPT>
 </body>
 </html>

Смотрите берём этот скрипт (коректируем его под 1 композицию)
После можно сохранить эту страницу fon_music.html и загружать уже с нащей страницы index.html (через onload в body).
Может так получится. Ни поможете реализовать?

  Ответить  
 
 автор: pautina   (18.06.2011 в 10:34)   письмо автору
 
   для: pautina   (18.06.2011 в 06:37)
 

Извините, правильно Вы всё говорили по Jqery спасибо за помощь.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования