html2canvas截屏时,暂停中的音乐被重新播放

108 阅读1分钟

原因

html2canvas截屏时,暂停中的audio被重新播放;

是因为html2canvas在绘制图片时,会把页面所有dom浏览一遍,虽然绘制的dom不包括audio,但audio标签上有autoplay,所以即使已经手动关闭,仍然会让音乐再次播放。

代码

所以我们就可以用html2canvas自带的api阻止库的浏览行为。

下图源自html2canvas官网: html2canvas.hertzen.com/configurati…

image.png

所以我们只要给audio元素加上 data-html2canvas-ignore="true" 属性就大功告成了!

<audio
    data-html2canvas-ignore="true"
    src="XXXXXXX"
    autoplay
    loop
></audio>