希望有人能帮助,这是推动我疯了......预加载的声音文件
我工作的企业内部网应用程序,我需要预装了大量(106!),MP3文件。我预加载这些像这样...
for (i=0; i<mp3Files.length; i++) {
soundSpan = document.createElement("span")
soundFileLocation = "http://wss/sites/TDABQ/" + mp3Files[i]
soundSpan.innerHTML="<embed src='" + soundFileLocation + "' hidden='true' autostart='false' loop='false' />"
document.body.appendChild(soundSpan)
}
这项工作,但需要一段时间,但迟到的加载不是问题。
问题是我找不出一种方法来确定何时加载所有文件,以便我可以提示用户页面已准备就绪。
问题:
这有可能在Internet Explorer 6工作,使排除了HTML5 /音频
我无法加载任何东西到服务器上该应用程序的存储位置(是真的) (不要问)到目前为止排除SoundManager。当它与应用程序位于同一服务器上时,我可以使SoundManager正常工作,但是尝试从另一台服务器加载SoundManager会导致Flash> JS(或它是JS> Flash)安全设置问题。这些设置无法在客户端PC上更改。
我试过使用JQuery的Ajax和获取方法,但由于某种原因无法让它做Ajax调用跨域例如下面的代码永远不会显示警告框
$(文件)。就绪(函数(){
$获得(网址:{url: “HTTP://wss/sites/TDABQ/field1.mp3” crossDomain:true,success:function(){alert('yes!')}});
});
因此,我使用Embed标签来进行预加载。嵌入代码似乎无法响应onLoad或onReadyStateChange事件处理程序。
我已经江郎才尽......
如何才能知道当所有的文件已加载???
'$(“#yourEmbed”)。ready();'? – 11684 2012-07-26 21:16:19
您是否为SoundManager设置了[crossdomain.xml](http://kb2.adobe.com/cps/142/tn_14213.html)? – Esailija 2012-07-26 21:28:11
@Esailija对不起,但我不熟悉crossdomain.xml。是否将名为crossdomain.xml的文件放置在包含SoundManager文件的服务器的根目录或包含使用SoundManager的网页的服务器的根目录中? – user1555329 2012-07-26 22:00:15