Chrome无法播放我的嵌入文件,对音频文件的请求被“取消”

时间:2013-07-24 08:40:48

标签: jquery html google-chrome

我有一个页面,当用户出错时,使用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是太聪明了,它注意到嵌入元素将被删除,因此它取消了对资源的请求,但事实并非如此,因为即使是我用于缓存的嵌入元素也永远不会被删除状态(已取消) - 这在页面加载时发生。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我明白了。抱歉。这是我在家安装的vlc插件。 由于我在家中和工作PC上使用相同的Google帐户,因此它也安装在我的工作PC上。

所以我禁用了它,它再次成为魅力:P