我有一个页面,当用户出错时,使用jQuery播放声音。
这是我的html的一部分:
<embed id="beepCache" src="sound/beep.wav" autostart="false" type ="audio/x-wav" width="0" height="0" hidden="hidden" /><!-- Just for caching! -->
我只是在本地缓存文件,因此它会立即播放。 这是我播放声音的jQuery函数。它只是添加并删除DOM中的embed元素。
function playSound() {
$('body').append('<embed id="beep" width="0" height="0" type ="audio/x-wav" src="sound/beep.wav" autostart="true" hidden="hidden">');
//wait 1 sec than remove the embed element
setTimeout(function() {
$('#beep').remove();
}, 1000);
}
因此,此代码适用于IE,FF和Opera,但它适用于Chrome。 当它工作时,我注意到对beep.wav的所有GET请求都是缓存命中。
但现在我获得了状态(已取消)。我认为Chrome是太聪明了,它注意到嵌入元素将被删除,因此它取消了对资源的请求,但事实并非如此,因为即使是我用于缓存的嵌入元素也永远不会被删除状态(已取消) - 这在页面加载时发生。
任何想法都会受到赞赏。
答案 0 :(得分:0)
我明白了。抱歉。这是我在家安装的vlc插件。 由于我在家中和工作PC上使用相同的Google帐户,因此它也安装在我的工作PC上。
所以我禁用了它,它再次成为魅力:P