Bagaimana untuk mengendalikan "DOMException yang tidak ditangkap (dalam janji): play() gagal kerana pengguna tidak berinteraksi dengan dokumen terlebih dahulu pada desktop menggunakan Chrome 66?
P粉651109397
2023-08-23 19:57:46
<p>Saya menerima mesej ralat..</p>
<blockquote>
<p>Tidak ditangkap (dengan janji) DOMException: play() gagal kerana pengguna tidak berinteraksi dengan dokumen terlebih dahulu. </p>
</blockquote>
<p>..Apabila cuba memainkan video pada desktop menggunakan Chrome versi 66. </p>
<p>Saya telah menemui iklan yang mula dimainkan secara automatik di tapak, tetapi dengan HTML berikut: </p>
<pre class="brush:php;toolbar:false;"><video
title="Iklan"
webkit-playsinline="true"
playsinline="benar"
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>Memintas penyekat automain Chrome v66 adalah sangat mudah, cuma tambah <kod>webkit-playsinline="true"</code>, <code>playsinline="true"</ >autoplay=" " atribut kod> dan <kod <kod=""><video></video></kod> elemen? Adakah ini akan membawa kesan negatif? </p>
Untuk membuat automain elemen html 5 selepas kemas kini chrome 66, anda hanya perlu menambah atribut
muted
pada elemen video.Jadi HTML video semasa anda
Hanya perlu
muted="muted"
Saya percaya kemas kini chrome 66 cuba menghentikan tab daripada membuat bunyi rawak pada tab pengguna. Itulah sebabnya atribut bisu menjadikan automain berfungsi semula.