2012-08-03 22 views
10

HTML5 ses yürütücüler koleksiyonunu listeleyen tek bir sayfa web sitem var. Sorun Aşağıdaki tarayıcılar içerik (mp3 ve ogg)HTML5 sesinin yükleme sırasında önceden yükleme/akıştan nasıl önlenmesi gerekir?

Internet Explorer 
Google Chrome 
Firefox 
Safari 
(probably Opera) 

Ben oyunculara uygulamak için temel kodu kullanabilirsiniz predownloading başlamak çünkü sitesi yavaş haline gelmiştir olduğunu. Tarayıcıların ses dosyalarını önceden yüklemesini önleyebileceğim bir yol var mıdır ve sadece oynatmayı tıkladıklarında çalışır mı?

<audio controls="controls" height="32" width="300" tabindex="0"> 
<source type="audio/mpeg" src="http://cdn.com/track.mp3"></source> 
<source type="audio/ogg" src="http://cdn.com/track.ogg"></source> 
</audio> 
+1

Ayrıca, yükseklik ve genişlik tarayıcı tarafından tükenmiş olduğunu düşünüyorum, bu yüzden boş bırakabilirsiniz, sadece ' AlphaApp

+0

@AlphaApp Teşekkürler FYI. – TheBlackBenzKid

cevap

21
<audio controls="controls" preload="none"> 
    <source src="song.ogg" type="audio/ogg" /> 
    <source src="song.mp3" type="audio/mpeg" /> 
    Your browser does not support the audio element. 
</audio> 

Not - preload="none" - VİDEO HTML5 ve SES HTML5 ile kullanılabilir.

Internet Explorer ve Opera dışındaki tüm önemli tarayıcılarda önyükleme özniteliği desteklenir.

+2

Teşekkürler. Böylece bu, HTML5 öğelerini otomatik indirme ve ön yükleme otomatik olarak durdurur. Bunu takdir ediyorum. – TheBlackBenzKid

3

MSIE, tüm web trafiğinin yaklaşık% 30'unu oluşturuyor, dolayısıyla preload="none" yalnızca bir parça çözümdür. örneğin,

<script type="text/javascript"> 
function addAudio(t) { 
    var l=t.innerHTML.length; 
    var audioName=t.parentElement.id; 
    if(t.children.length==0) { 
    t.innerHTML=t.innerHTML+'&nbsp; &nbsp; <audio controls="controls"><source src="'+ 
     audioName+'.ogg" type="audio/ogg" /><source src="'+ 
     audioName+'.mp3" type="audio/mp3" /> No audio tag support</audio>'; 
    } 
} 
</script> 

ve sonra dinamik ses etiketi eklemek DHMTL kullanın: Bu sorun vardı birkaç sayfalarda, benim sayfa başlıklarına küçük komut dosyası eklemek

<li id="2_Lesson_1_Hello"><span onclick="addAudio(this)">Γεια σας</span></li> 

Bunun metin açıklığını içeren bir liste öğesini tanımlamaktır. Yayılan metindeki tıklamaları tararken, javascript <audio> etiketini tetikler ve ekler. Alternatif olarak onmouseover özniteliğini kullanarak ses etiketinin üzerine gelmesini sağlayabilirsiniz.

İsterseniz, oluşturulan koda preload özniteliğini ekleyin. Bu basit bir yaklaşımdır, ancak web sayfanızda zaten jQuery kullanıyorsanız, bunun zarif seçenekler sunduğunu unutmayın.

+0

Ya jQuery alternatifini gönderebilir ve kodu tamamen açıklar mısınız ve ne demek istediniz? Bu çaba için +1, bu beni 'Γεια σας' kapalı koymak bu kod ne yapıyor? – TheBlackBenzKid

+0

Cevabımı güncelledim. Maalesef sayfalarimdan bir tanesini çektim "Γεια σας" sadece bu örnekte bulunan bazı karakter verisi ("Merhaba" için Yunanca), tıpkı "Tarayıcınız desteklemiyor ..." gibi. JQuery örneği farklı bir Soru ve Cevaptır, ve burada ele almak istediğim bir şey değil. Sadece bu basit eylem rutininin açıklamasına ihtiyacınız varsa, javascript'in gelişmiş kullanımı olarak ve sizin durumunuzda gerçekten uygun olmadığını düşündüğümdür. – TerryE

İlgili konular