希望有人能帮忙,这让我发疯......
我正在开发一个需要预加载大量(106 个!)MP3 文件的 Intranet 应用程序。我正在像这样预加载这些......
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 和 Get 方法,但由于某种原因无法让它跨域进行 Ajax 调用,例如以下代码从不显示警报框
$(文档).ready(函数() {
$.get({ url: "http://wss/sites/TDABQ/field1.mp3", crossDomain:true, success: function() { alert('yes!') } });
});
因此我使用嵌入标签来进行预加载。嵌入标签似乎不响应 onLoad 或 onReadyStateChange 事件处理程序。
我已经没有想法了...
我如何找出所有文件何时加载???