Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.09.2008, 13:37
Аспирант
Отправить личное сообщение для Mitrandir Посмотреть профиль Найти все сообщения от Mitrandir
 
Регистрация: 03.06.2008
Сообщений: 37

"Причесал" скриптик, а он в Опере не пошел
Приветствую всех участников поистине центрального JavaScript ресурса
Рунета!

Недавно для разминки мозгов решил облагородить один скриптик написанный в старом стиле, а именно:

СТАРЫЙ КОД

<SCRIPT type="text/javascript" language="JavaScript">

  var isIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1);
    if(isIE)
        document.write('<BGSOUND src="sound.mp3" loop="1">');

var isEmbed = ((navigator.userAgent.toLowerCase().indexOf("gecko")!=-1)||((navigator.userAgent.indexOf("Opera") != -1)))
    if(isEmbed)
        document.write('<EMBED src="sound.mp3" loop="1"><EMBED>');
</SCRIPT>


НОВЫЙ КОД
<SCRIPT type="text/javascript" language="JavaScript">
      function play(){
var isIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1);
    if(isIE){
    var bgsound = document.createElement("bgsound");
	bgsound.src = "sound.mp3";
	bgsound.loop ="1";
	document.body.appendChild(bgsound);}

var isEmbed = ((navigator.userAgent.toLowerCase().indexOf("gecko")!=-1)||((navigator.userAgent.indexOf("Opera") != -1)))
    if(isEmbed){
      var embed = document.createElement("embed");
	  embed.src = "sound.mp3";
	  embed.loop ="1";
	  document.body.appendChild(embed);}
	  }
		</SCRIPT>
    <BODY onload = "play()">

В ОгнеЛисе и Ослике 7 скрипт сработал (не без замечаний, конечно со стороны IE7).А в Опере 9.02 - ТИШИНА и мертвые с косами стоят В чём тут может быть дело? Что скажут гуру в JavaScript кодинге?

Последний раз редактировалось Mitrandir, 30.09.2008 в 14:48. Причина: Забыл тело условного оператора взять в фигурные скобки. Пардон!
Ответить с цитированием
  #2 (permalink)  
Старый 30.09.2008, 14:16
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

дело в настройках Оперы?
Ответить с цитированием
  #3 (permalink)  
Старый 30.09.2008, 14:54
Аспирант
Отправить личное сообщение для Mitrandir Посмотреть профиль Найти все сообщения от Mitrandir
 
Регистрация: 03.06.2008
Сообщений: 37

To ZoNT

Не знаю может и в настройках, хотя с рудиментарным document.write() всё работает на ура во всех трёх браузерах,-
значит наврядли.
2 ALL
Интересная получается картина.
Жду ваших соображений на этот счёт.
Ответить с цитированием
  #4 (permalink)  
Старый 30.09.2008, 15:10
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

У оперы, если я не ошибаюсь, были какие-то проблемы с регистром символов при создании элемента, попробуйте так:
var embed = document.createElement("EMBED");
Ответить с цитированием
  #5 (permalink)  
Старый 30.09.2008, 16:11
Аспирант
Отправить личное сообщение для Mitrandir Посмотреть профиль Найти все сообщения от Mitrandir
 
Регистрация: 03.06.2008
Сообщений: 37

Нет регистр символов увы не помог
*******************************
Opera 9.02 сборка 8585,
ОС Windows XP SP 3 RUS - это я так для справки
**************************************
Пожалуйста, протестируйте кому не в напряг оба варианта скрипта,
может это кривизна моей конфы ||рук || мозгов. . Ну, а если
и других будет тоже самое, тогда косяк где-то в поддержке Оперой
объектной модели DOM Level2 так получается.
Ответить с цитированием
  #6 (permalink)  
Старый 30.09.2008, 16:14
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

может косяк в поддержке отдельных тэгов?
Ответить с цитированием
  #7 (permalink)  
Старый 30.09.2008, 16:17
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Mitrandir,
У меня работает, правда открывает через quicktimeовский встроенный плеер.
Ответить с цитированием
  #8 (permalink)  
Старый 30.09.2008, 16:43
Аспирант
Отправить личное сообщение для Mitrandir Посмотреть профиль Найти все сообщения от Mitrandir
 
Регистрация: 03.06.2008
Сообщений: 37

Ага понятно!
Что ОгнеЛису, что опере нужен этот самый apple-плагин для корректного
воспроизведения мультимедиа содержимого из тега
<embed> </embed>, следовательно при таком построении скрипта опера
с плагином почему-то не контачит - в общем, видимо косяк софтовый.
Переинсталим плагин - посмотрим на результат.
Может полегчает.
Ответить с цитированием
  #9 (permalink)  
Старый 30.09.2008, 17:28
Аспирант
Отправить личное сообщение для Mitrandir Посмотреть профиль Найти все сообщения от Mitrandir
 
Регистрация: 03.06.2008
Сообщений: 37

TO ALL
Да нет господа, легче не стало. Дело тут по всей видимости не в плагине,
а действительно в самой Опере, установленной у меня версии 9.02, потому
как статическую вёрстку HTML она воспринимает без проблем и сходу
запускает миниплейер -Так Вот.
**************************
Андрей Параничев,

А какая версия Оперы установлена у Вас?
Ответить с цитированием
  #10 (permalink)  
Старый 30.09.2008, 17:29
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

предлагаю забить на бгсаунд.
Если нужно проигрывание музыки в фоне - запусти винамп (или что-нибудь ещё).
Ответить с цитированием
Ответ



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

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