Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:在window.location上播放声音_Javascript_Html - Fatal编程技术网

JavaScript:在window.location上播放声音

JavaScript:在window.location上播放声音,javascript,html,Javascript,Html,我有一个按钮,可以将用户带到不同的HTML文档,我希望它在用户单击时发出噪音 此时,我设置了足够长的延迟时间,以便声音响起。但是,这会导致我的站点延迟(而且加载页面的速度非常慢) 有什么想法吗 // code for playing button then going to the next page function buttonClick() { document.getElementById("buttonSound").play(); window.setTimeout(leve

我有一个按钮,可以将用户带到不同的HTML文档,我希望它在用户单击时发出噪音

此时,我设置了足够长的延迟时间,以便声音响起。但是,这会导致我的站点延迟(而且加载页面的速度非常慢)

有什么想法吗

// code for playing button then going to the next page
function buttonClick() {
  document.getElementById("buttonSound").play();
  window.setTimeout(levelSelect, 300);
}

根据我的理解,如果我没有理解,请留下评论或编辑您的问题:

  • 如果要在重定向后播放音频:
您可以立即重定向,而无需等待其他html页面,“X”,例如,使用特定的查询字符串,在名为“X”的页面中执行简单的检入加载,检查是否已将此查询字符串传递到url,然后播放音频/噪音

  • 如果要在重定向/加载iframe之前播放音频: 对
    音频使用
    oneded
    事件,并在触发html时重定向或加载它:
var x=document.getElementById(“myAudio”); x、 onended=函数(){ //如果您想加载部分html内容,也可以使用AJAX window.location.href=”https://astimix.com"; } 函数playAudio(){ x、 play(); } 函数pauseAudio(){ x、 暂停(); }

您的浏览器不支持音频元素。
播放音频

没有办法做到这一点。@poolfork根据我的理解,您可以立即重定向,而无需等待其他html页面,“X”例如,使用特定的查询字符串,在名为“X”的页面中,执行简单的检入加载,检查您是否在url中传递了此查询字符串,然后播放你的音频/声音我能想到的唯一办法是在完成播放的同时加载另一个页面,那就是使用
iframe
(除了将网站转换为单页应用程序之外)。
iframe
选项只有在按钮是静态UI的一部分且在页面之间保持不变的情况下才有效(换句话说,按钮可以位于正在更改的框架之外)。但是,如果没有看到项目布局的示例,就很难给出任何具体内容。@msoliman查看示例代码,似乎期望的结果是在播放声音时立即播放声音,同时加载另一个页面,因此重定向之前有300毫秒的延迟,但他们不希望有300毫秒的延迟,因为这会增加响应时间。@ChrisClower感谢您的澄清,尽管从他提供的代码片段中的注释来看,他需要播放声音,然后重定向到另一页
//播放按钮的代码,然后转到下一页
您使用过pauseAudio()吗?