Firefox и Opera не завершают загрузку веб-страницы со встроенным файлом проигрывателя Windows Media.

БРАУЗЕРЫ, ВЫЗЫВАЮЩИЕ ПРОБЛЕМУ: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2. 15 Версия/10.10

КЛИЕНТСКАЯ МАШИНА: 64-разрядная версия Windows 7 Ultimate, 4 ГБ ОЗУ, 250 ГБ жесткого диска, 2,3 ГГц.

ТЕСТОВЫЙ ВЕБ-САЙТ: http://www.microwavecontrolfusion.us

У меня нет проблем с загрузкой файлов веб-сайта, если они находятся непосредственно на моем домашнем компьютере (локальный доступ) в любом браузере (например, IE, FF, Opera, Safari, Chrome, Macintosh). Файл MP4 отлично воспроизводится во всех браузерах (IE, FF, Opera, Safari, Chrome, Mac Safari). При доступе через Интернет только Firefox и Opera останавливаются при загрузке, когда веб-сайт является единственной открытой вкладкой. Если открыта другая вкладка, то этого зависания не происходит, и страница загружается и работает нормально. IE, Chrome, Safari и Macintosh прекрасно загружаются и прекрасно работают.

Интерфейсы HTML через вызов функции javascript GenerateWMP, расположенной во внешнем файле movie.js. Содержимое этого файла:

//-----------------------------------------------------------
// Writes the correct PromoClip object depending upon browser:
//-----------------------------------------------------------
function GenerateWMP()
{
  if (IsMac || Safari)
  {
    if (IsMac)
    {
      document.write('<OBJECT id="PromoClip" style="width:320px;height:256px;z-index: 1" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0">');
    }
    else
    {
      document.write('<OBJECT id="PromoClip" style="width:320px;height:256px;" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0">');
    }
    document.write('  <PARAM name="src"      value="docs/Low Density Pre-Experimental Promo.mp4">');
    document.write('  <PARAM name="autoplay" value="false">');
    document.write('  <EMBED src="docs/Low Density Pre-Experimental Promo.mp4" width="320" height="256" pluginspage="http://www.apple.com/quicktime/download/" id="Promo" name="Promo" autoplay="false" bgcolor="black"></');
  }
  else
  {
    document.write('<OBJECT id="PromoClip" style="width:320px; height:304px;" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/ mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">');
    document.write('  <PARAM name="fileName"           value="docs/Low Density Pre-Experimental Promo.mp4">');
    document.write('  <PARAM name="animationatStart"   value="true">');
    document.write('  <PARAM name="transparentatStart" value="false">');
    document.write('  <PARAM name="autoStart"          value="false">');
    document.write('  <PARAM name="showControls"       value="true">');
    document.write('  <PARAM name="showStatusBar"      value="true">');
    document.write('  <PARAM name="loop"               value="false">');
    document.write('  <EMBED type="application/x-mplayer2" pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" id="Promo" name="Promo" displaysize="4" autosize="-1" showcontrols="true" showtracker="-1" showdisplay="0" showstatusbar="true" videoborder3d="-1" width="320" height="304" src="docs/Low Density Pre-Experimental Promo.mp4" autostart="false" designtimesp="5311" loop="false"></');
  }
  document.write('EMBED>');
  document.write('</');
  document.write('OBJECT>');
}

HTML из столбца таблицы, который вызывает эту функцию:

<TD class="mid" id="d0_c" style="width:320px;height:304px;vertical- align:top;cursor:pointer;background:url('img/clear.png') center top no-repeat" onClick="if (running==0) {MovieStart();}"><DIV id="Movie"><SCRIPT type="text/javascript" language="JavaScript1.1">GenerateWMP();document.close();</SCRIPT></DIV></TD>  

Я уже экспериментировал с Quicktime Player и нашел те же проблемы. Это загружается правильно, только когда у меня уже открыта другая вкладка. Поэтому я считаю, что это должна быть ошибка браузера. Я хотел бы знать причину остановки и иметь возможность исправить это для Firefox и Opera, если это возможно. Будем признательны за любые разъяснения, даже если только для подтверждения того, что это известная ошибка.


person Donald Ensley    schedule 02.12.2009    source источник


Ответы (2)


Возможно, проблема в том, что вы ожидаете, что плагин WMP будет воспроизводить файлы MP4. С кодеками по умолчанию, присутствующими в Windows до 7, этого не будет ни в одном браузере.

Возможно, проблема в том, что вы не получаете ожидаемый плагин медиаплеера в других браузерах. WMP, QT и Real могут попытаться воспроизвести встраивание «application/x-mplayer2», и какой из них победит, зависит от конфигурации и удачи. Настоящие и более старые QT также не могут воспроизводить MP4. И все плагины случайно терпят неудачу, потому что ненавидят вас.

Возможно, проблема в недопустимых URL-адресах (пробелы должны быть закодированы как %20).

Или, может быть, проблема просто в том, что вы встраиваете плагин медиаплеера. Это никогда не работало надежно. Никогда. Почти никто даже не пытается больше. Это полная мертвая потеря. Мир в подавляющем большинстве перешел на Flash-видео, <video> на горизонте появится HTML5, но не мейнстрим еще; сделайте себе одолжение и присоединитесь к ним.

person bobince    schedule 02.12.2009

Проблема связана с длительной «предварительной загрузкой» фильма, и это происходит в браузерах Firefox и Opera при загрузке WMP-видео. Я решил эту проблему, заставив проигрыватель WMP воспроизводить ДВА фильма, используя файл списка воспроизведения (mpu). Первое видео очень короткое (один кадр), так что при загрузке совсем не долго. Это короткая предварительная загрузка в один кадр. Затем, когда посетитель нажимает изображение для фильма, первый фильм воспроизводится очень быстро, а следующий загружается только после этого. Таким образом, страница загружается быстро и работает корректно. Длинный фильм больше не вызывает задержку начальной загрузки страницы, поскольку предварительная загрузка загружает только первый однокадровый фильм в списке воспроизведения.

Эта проблема решена.

person Donald Ensley    schedule 11.12.2009