>我有一个按钮,可以将用户带到不同的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 之前播放音频: 使用
onended
事件进行audio
,并在触发 html 时重定向或加载 html:
var x = document.getElementById("myAudio");
x.onended = function(){
//can do AJAX too in case you want to load partial html content
window.location.href = "https://astimix.com";
}
function playAudio() {
x.play();
}
function pauseAudio() {
x.pause();
}
<audio id="myAudio">
<source src="https://www.w3schools.com/jsref/horse.ogg" type="audio/ogg">
<source src="https://www.w3schools.com/jsref/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<button onclick="playAudio()" type="button">Play Audio</button>