问题描述
我创建了一个简单的计时器,该计时器不会在IE中倒计时。 在Chrome中可以运行,但不能播放声音。.您对它为什么会产生任何建议吗? 我使用SharePoint内容编辑器嵌入代码。 谢谢!
<Script> <audio id="audioshort" src="/sites/MTDT/HTML/SiteAssets/Shortbeep.mp3" preload="auto"></audio><script> <audio id="audiolong" src="/sites/MTDT/HTML/SiteAssets/Longbeep.mp3" preload="auto"></audio><script> </Script> <Script> ProgressCountdown(20, 'pageBeginCountdown', 'pageBeginCountdownText').then(value => alert(`Stream time has ended. Please move to another stream`)); function ProgressCountdown(timeleft, bar, text) { return new Promise((resolve, reject) => { var countdownTimer = setInterval(() => { timeleft--; document.getElementById(bar).value = 20 - timeleft; document.getElementById(text).textContent = timeleft; if (timeleft <= 0) { clearInterval(countdownTimer); resolve(true); location.reload(); } if (timeleft == 5) { document.getElementById('audioshort').play(); } }, 1000); }); } </Script> <div class="row begin-countdown"> <div class="col-md-12 text-center"> <h2>Stream time left</h2> <progress value="0" max="20" id="pageBeginCountdown"></progress> <p><centre><span id="pageBeginCountdownText">20 </span> minutes<centre></p> </div> </div>
1楼
您的音频文件周围有一些奇怪的Script
标签。
它应显示为:
<audio id="audioshort" src="/sites/MTDT/HTML/SiteAssets/Shortbeep.mp3" preload="auto"></audio>
<audio id="audiolong" src="/sites/MTDT/HTML/SiteAssets/Longbeep.mp3" preload="auto"></audio>
那应该可以解决Chrome上的播放问题。
对于IE的问题,这取决于您使用的是哪个版本,但是我想不支持Promise
。
有关更多信息,请参见 。