2012-04-08 2 views
1

При открытии ссылки, которая указывает прямо на аудиоплеер, все браузеры воспроизводят их. Audioplayer - это в вложенных divs, который является элементом embed, указывающим на swf.ошибка iframe с аудиоплеером

Но при написании и встраивании его на какую-либо страницу будет отображаться плеер, но он не будет воспроизводиться в IE8. Работает во всех других крупных браузерах, включая IE9.

BTW это не работает в Safari, но при назначении ширины и высоты с достаточно большими значениями исправлено это для Safari, но не для IE8.

<iframe width="500" height="50" src="http://localhost/getAudio?id=DB04DDA8-C7C9-46E6-B0B3-7A0E0B5C9A55" frameBorder="0" scrolling="no"> 

<html class=" js no-flexbox no-canvas no-canvastext no-webgl no-touch no-geolocation postmessage no-websqldatabase no-indexeddb hashchange no-history draganddrop no-websockets no-rgba no-hsla no-multiplebgs no-backgroundsize no-borderimage no-borderradius no-boxshadow no-textshadow no-opacity no-cssanimations no-csscolumns no-cssgradients no-cssreflections no-csstransforms no-csstransforms3d no-csstransitions fontface generatedcontent no-video no-audio localstorage sessionstorage no-webworkers no-applicationcache no-svg no-inlinesvg no-smil no-svgclippaths" xmlns="http://www.w3.org/1999/xhtml"> 

<HEAD> 
<STYLE class=iepp-printshim media=print></STYLE> 
<TITLE>Bethoven symphony # 9</TITLE> 
<META charset=utf-8> 
<SCRIPT type=text/javascript src="/celenium/scripts/libs/jquery-latest.js"></SCRIPT> 


<SCRIPT type=text/javascript src="/celenium/scripts/ClientCompatibility.js"></SCRIPT> 

<STYLE type=text/css>BODY { 
    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px 
} 
</STYLE> 
</HEAD> 
<BODY> 
<DIV id=asset01> 
<SCRIPT type=text/javascript> 
      $.ajax({ 
       url: '/celenium/audioplayer_html5/getPlayer.asp?o=DB04DDA8-C7C9-46E6-B0B3-7A0E0B5C9A55', 
       dataType: 'jsonp', 
       cache: true, 
       jsonpCallback: 'sdlaudioplayer', 
       success: function (data) { 
        $('#asset01').append($(data.html)); 
       } 
      });  
     </SCRIPT> 
<LINK rel=stylesheet href="http://localhost/celenium/audioplayer_html5/css/defaultplayer.css" media=screen> 
<DIV id=sdlaudioplayer class=player_container> 
<DIV class=player_metabar></DIV> 
<DIV class=player_controls> 
<DIV style="DISPLAY: block" class=player_controls_play jQuery1707536265854468271="1"></DIV> 
<DIV style="DISPLAY: none" class=player_controls_pause jQuery1707536265854468271="2"></DIV> 
<DIV style="DISPLAY: none" class=player_controls_prev jQuery1707536265854468271="3"></DIV> 
<DIV style="DISPLAY: none" class=player_controls_next jQuery1707536265854468271="4"></DIV> 
<DIV style="WIDTH: 297px; DISPLAY: block" class=player_controls_scrubber jQuery1707536265854468271="5"> 
<DIV class=player_controls_scrubber_loading jQuery1707536265854468271="13"> 
<DIV class=player_controls_scrubber_loaded></DIV> 
<DIV class=player_controls_scrubber_playhead></DIV></DIV></DIV> 
<DIV style="DISPLAY: block" class=player_controls_timing jQuery1707536265854468271="6"><SPAN class=player_controls_timing_position>0:00</SPAN>/<SPAN class=player_controls_timing_total>0:00</SPAN></DIV> 
<DIV style="DISPLAY: block" class=player_controls_volume jQuery1707536265854468271="7"> 
<DIV class=player_controls_volume_mute jQuery1707536265854468271="8"></DIV> 
<DIV class=player_controls_volume_slider jQuery1707536265854468271="12"> 
<DIV style="WIDTH: 50%" class=player_controls_volume_marker jQuery1707536265854468271="11"></DIV> 
<DIV style="LEFT: 28px" class=player_controls_volume_knob jQuery1707536265854468271="10"></DIV></DIV> 
<DIV class=player_controls_volume_max jQuery1707536265854468271="9"></DIV></DIV></DIV></DIV> 
<DIV id=sm2-container class="high_performance movieContainer swf_loaded"><!-- SM2 flash goes here --> 
<DIV></DIV> 
<DIV class=sm2-object-box> 
<OBJECT id=sm2movie title="JS/Flash audio component (SoundManager 2)" codeBase="download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 data="/celenium/audioplayer_html5/swf/soundmanager2_flash9.swf" width=auto type=application/x-shockwave-flash height=auto></OBJECT></DIV></DIV></DIV></BODY> 
+1

Проводной код всегда необходим. Это было бы как попросить механика исправить ваш автомобиль, но, оставив машину в вашем запертом гараже без ключей для бензина и зажигания. :) – jmort253

+0

Здесь вы идете. У нас есть два звонка. Сначала - iframe, второй - ajax. То, что ajax заполняет innerHTML для div ниже. – Nickolodeon

ответ

1

IE8 не считается современным браузером, поскольку он не поддерживает многие функции HTML5, такие как аудио и видео теги.

На этом сайте HTML5 Tutorial есть пример того, как поддерживать аудио в IE8, используя тег Object. Смотрите пример ниже:

<audio controls> 
    <source src="vincent.mp3" type="audio/mpeg"/> 
    <source src="vincent.ogg" type="audio/ogg"/> 
    <object type="application/x-shockwave-flash" data="media/OriginalMusicPlayer.swf" 
     width="225" height="86"> 
     <param name="movie" value="media/OriginalMusicPlayer.swf"/> 
     <param name="FlashVars" value="mediaPath=vincent.mp3" /> 
    </object> 
</audio> 

Имейте в виду, что это требует, чтобы клиент IE8 установили вспышки, так как он использует Flash, чтобы загрузить проигрыватель.

Если клиент не имеет флэш установлен, ваше последнее усилие канаву, чтобы просто дать ссылку скачать и позволить пользователю использовать плеер операционной системы по умолчанию для воспроизведения аудио файла:

<audio controls> 
    <source src="vincent.mp3" type="audio/mpeg"/> 
    <source src="vincent.ogg" type="audio/ogg"/> 
    <object type="application/x-shockwave-flash" data="media/OriginalMusicPlayer.swf" 
     width="225" height="86"> 
     <param name="movie" value="media/OriginalMusicPlayer.swf"/> 
     <param name="FlashVars" value="mediaPath=vincent.mp3" /> 
    </object> 
    <a href="vincent.mp3">Download this lovely song and wish you all the best!</a> 
</audio> 

Как обратите внимание на то, что проблемы, с которыми вы столкнулись, вполне могут проистекать из того факта, что ваш HTML не хватает html5 doctype и содержит ошибки проверки. Вы можете проверить спецификацию W3C. Я считаю, что все ваши атрибуты должны иметь кавычки вокруг них.

Хотя многие браузеры хорошо позволяют сделать синтаксис и семантические ошибки в вашем HTML и просто крыло, иногда эти вопросы проверки могут вернуться, чтобы преследовать вас. Я настоятельно рекомендую вам запустить свой сайт против W3C validator, чтобы убедиться, что нет ошибок HTML, которые мешают IE8 правильно интерпретировать вашу разметку.

+0

Спасибо за этот исчерпывающий ответ. Мне нужно, по крайней мере, пару часов, чтобы переписать скрипты. Наш плеер также поддерживает режим отладки. После включения он жаловался, что не обнаружена поддержка аудио HTML5. Я не понимаю, где html5 (например,