我有一个带有多个标签的网页,例如:

<audio controls="controls" preload="metadata">
    <source type="audio/mpeg" src="file1.mp3"></source>
</audio>

每个标签播放一个不同的文件,每个mp3文件都相当长(例如,最多需要一分钟才能完全下载)。

如果我有4个以上的标签,则IE9中只会显示前4个标签。每次前四个音频播放器之一完成加载其音频文件时,将依次显示另一个。

实际上,在其中一个音频播放器停止加载之前,单击页面中的任何超链接都不会加载适当的HTTP资源。音频标签似乎对同时HTTP连接的数量设置了硬限制。 IE9通常具有更高的限制,因此这似乎很奇怪。

其他注意事项:
  • 音频文件会自动加载并正常播放
  • 我不需要同时播放文件,我只想拥有一个页面,该页面显示不同文件的多个音频播放器。
  • 我尝试为preload属性使用不同的值(无|元数据|自动)。 “无”将音频播放器完全隐藏在IE9中,
    元数据和自动显示相同的问题。
  • this answer提到IE9中最多可以有40个播放器,但是我不能超过4个吗?

  • 任何想法表示赞赏,谢谢。

    最佳答案

    的确,当音频标签的预加载属性设置为“元数据”时,IE9会出现一些故障。

    对于更敏感的行为,可能的解决方法是:

  • 设置preload = "none"
  • 用图像包装<audio>标签或用背景图像包装div
  • 将“click”事件附加到将触发的图像/ div:document.getElementById('audio1').play()

  • 希望它适合您的需求。

    关于html - IE9多个<audio>标记阻止了其他HTTP请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11070941/

    10-13 04:39