如何处理'未捕获(承诺中)DOMException:play() 失败,因为用户没有首先与文档交互。”在使用 Chrome 66 的桌面上?
P粉651109397
P粉651109397 2023-08-23 19:57:46
0
1
576
<p>我收到错误消息..</p> <blockquote> <p>未捕获(承诺中)DOMException:play() 失败,因为用户没有先与文档交互。</p> </blockquote> <p>..尝试使用 Chrome 版本 66 在桌面上播放视频时。</p> <p>我确实发现一个广告在网站上自动开始播放,但使用以下 HTML:</p> <pre class="brush:php;toolbar:false;"><video title="Advertisement" webkit-playsinline="true" playsinline="true" style="background-color: rgb(0, 0, 0); position: absolute; width: 640px; height: 360px;" src="http://ds.serving-sys.com/BurstingRes/Site-2500/Type-16/1ff26f6a-aa27-4b30-a264-df2173c79623.mp4" autoplay=""></video></pre> <p>绕过 Chrome v66 的自动播放拦截器真的很简单,只需添加 <code>webkit-playsinline="true"</code>、<code>playsinline="true"</code> 和 <code <code=""><video></video></code> 元素的 >autoplay="" 属性?这会带来什么负面影响吗?</p>
P粉651109397
P粉651109397

全部回复(1)
P粉369196603

要在 chrome 66 更新后使 html 5 元素自动播放,您只需将 muted 属性添加到 video 元素即可。

所以你当前的视频 HTML

<video
    title="Advertisement"
    webkit-playsinline="true"
    playsinline="true"
    style="background-color: rgb(0, 0, 0); position: absolute; width: 640px; height: 360px;"
    src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
    autoplay=""></video>

只需要muted="muted"

<video
    title="Advertisement"
    style="background-color: rgb(0, 0, 0); position: absolute; width: 640px; height: 360px;"
    src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
    autoplay="true"
    muted="muted"></video>

我相信 chrome 66 更新正在尝试阻止选项卡在用户选项卡上产生随机噪音。这就是为什么静音属性使自动播放再次起作用的原因。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板