1

我正在制作一个音频重页。我正在使用 JavaScript 音频元素。代码如下所示:

JavaScript:

var x = new Audio("x.mp3");
var y = new Audio("y.mp3");
var z = new Audio("z.mp3");

function playMe(n){
    n.play();
}

HTML:

<button class="button" onclick="playMe(x)")>Play</button>
<button class="button" onclick="playMe(y)")>Play</button>
<button class="button" onclick="playMe(z)")>Play</button>

有些页面使用多达 30 个不同的音频文件,因此这会消耗大量带宽。这可能会扼杀该项目,因为这是一项几乎没有预算的单人工作。

每次声明音频对象时都会下载音频。有没有办法重复使用已经在其他页面下载的音频在其他页面上使用而无需再次下载?

谢谢你的时间。

4

1 回答 1

1

您可以使用缓存清单来确保您想要的每个资源只下载一次并正确缓存,即使是离线浏览也是如此。请参阅:“离线”:这是什么意思,我为什么要关心?在 HTML5Rocks 上。

您可以使用的另一件事来代替(或补充)适当的缓存是让您的页面不会真正重新加载,而是使用 AJAX 仅重新加载部分页面,就像在这个简单的演示中一样。很多 JavaScript 框架,如 jQuery、YUI、Prototype、Dojo 等,都会帮助你。

于 2012-09-23T09:54:59.923 回答