<video autoplay controls muted>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
if (!isChrome){
$('#iframeAudio').remove()
}
else {
$('#playAudio').remove() // just to make sure that it will not have 2x audio in the background
}
// index.js
let audioPlaying = true,
backgroundAudio, browser;
browser = navigator.userAgent.toLowerCase();
$('<audio class="audio1" src="audio.mp3" loop></audio>').prependTo('body');
if (!browser.indexOf('firefox') > -1) {
$('<embed id="background-audio" src="audio.mp3" autostart="1"></embed>').prependTo('body');
backgroundAudio = setInterval(function() {
$("#background-audio").remove();
$('<embed id="background-audio" src="audio.mp3"></embed>').prependTo('body');
}, 120000); // 120000 is the duration of your audio which in this case 2 mins.
}
[原创]
如果你觉得用 <div>标签封装整个 HTML <body>没问题,这是我的解决方案,它可以在 Chrome 88.0.4324.104(2021年1月23日的最新版本)上运行。
首先,添加音频部分以及下面 <body>部分开头的一段脚本:
<audio id="divAudio">
<source src="music.mp3" type="audio/mp3">
</audio>
<script>
var vAudio = document.getElementById("divAudio");
var hasInit = false;
function playMusic()
{
if(!hasInit)
{
hasInit = true;
vAudio.play();
}
}
</script>
其次,用一个虚拟的部分 <div onmouseover="playMusic()">封装整个 HTML <body>内容(不包括,上面显示的插入代码段)。如果您的 HTML <body>内容已经包含在全局 <div>部分中,那么只需在该 <div>中添加 onmouseover="playMusic()"标记。