2

我有一个在按下按钮时播放 mp3 文件的页面,使用 javascript 如下:

onclick="playAudio"

有明显的 300ms 延迟。我只想通过 html5 浏览器使用它,只使用 nexus 7。所以我不想要 IE6 等的任何备份代码。我见过的每个解决方案似乎都非常复杂,我无法让它工作。

没有简单的javascript解决方案吗?

4

2 回答 2

4

查看 github 上的 Fastclick 项目。如果我理解您的问题,您只想摆脱触摸设备上的 300 毫秒延迟。这个项目是一个 polyfill,使触摸用户界面更加敏捷和响应。这是网址:

https://github.com/ftlabs/fastclick

用例:

只需像这样包含 fastclick 库:

<script type='application/javascript' src='/path/to/fastclick.js'></script>

然后只需通过在您的主应用程序 js 文件中添加以下内容来实例化它:

window.addEventListener('load', function() {
     new FastClick(document.body);
}, false);

希望有帮助!

于 2013-01-17T16:27:25.467 回答
1

据我了解您的问题,此问题与播放音频有关,不一定与按钮交互有关。因此,在此基础上,我将尝试在下面回答您的问题。

我假设您为此使用 HTML5 音频 API。你看过preload属性吗?它有一个名为的值auto,它告诉浏览器预加载音频可能是个好主意。这样做的缺点是您可能会给服务器带来不必要的开销,因为无论如何您几乎总是在下载音频。使用这种方法,您可以通过 JavaScript 订阅一个canplaythrough事件,告诉您音频何时已下载并准备好播放。

可以在此处找到有关此主题的更多详细信息:

于 2013-01-17T16:31:45.950 回答