在Android网络浏览器上停止300ms onclick延迟

时间:2013-01-17 16:13:38

标签: javascript onclick touch

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

onclick="playAudio"

有300毫秒的明显延迟。我想仅通过html5浏览器使用它,仅使用nexus 7。所以我不想要任何IE6的备份代码等。我看到的每个解决方案看起来都很复杂,我无法让它工作。

有没有简单的JavaScript解决方案?

2 个答案:

答案 0 :(得分:4)

查看github上的Fastclick项目。如果我理解你的问题,你只想摆脱触摸设备上300ms的延迟。这个项目是一个polyfill,使触摸uis更加活泼和响应。这是网址:

https://github.com/ftlabs/fastclick

用例:

只需包含快速点击库:

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

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

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

希望有所帮助!

答案 1 :(得分:1)

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

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

有关此主题的更多详情,请访问: