Javascript ReactJS中的自动播放视频不适用于Chrome
我刚刚用ReactJS创建了一个网站,并注意到主页上的视频并没有开始在Chrome上播放。只有当我转到不同的页面,然后返回主页时,它才会开始播放。有人有什么建议吗?在某个地方,我看到他们用JQuery修复了它,但我不想在React中添加JQuery,直到它真正需要 我用过这样的视频Javascript ReactJS中的自动播放视频不适用于Chrome,javascript,reactjs,video,autoplay,Javascript,Reactjs,Video,Autoplay,我刚刚用ReactJS创建了一个网站,并注意到主页上的视频并没有开始在Chrome上播放。只有当我转到不同的页面,然后返回主页时,它才会开始播放。有人有什么建议吗?在某个地方,我看到他们用JQuery修复了它,但我不想在React中添加JQuery,直到它真正需要 我用过这样的视频 <video src={Video} muted playsInline={true} autoPlay={true} loop disablePictureInPicture></video>
<video src={Video} muted playsInline={true} autoPlay={true} loop disablePictureInPicture></video>
<video playsInline loop disablePictureInPicture autoPlay muted>
<source src={Video} type="video/mp4" />
</video>
也像这样
<video src={Video} muted playsInline={true} autoPlay={true} loop disablePictureInPicture></video>
<video playsInline loop disablePictureInPicture autoPlay muted>
<source src={Video} type="video/mp4" />
</video>
而且“静音”不会出现在dom中。。
在行动中,可以在这里看到:
非常感谢。所以最后的解决方案是通过ref传递“静音”,如下所示:
const videoRef = useRef(null)
useEffect(() => {
const { current: videoElement } = videoRef
videoElement.setAttribute('muted', '')
}, [])
<video src={Video} ref={videoRef} playsInline autoPlay loop disablePictureInPicture muted />
const videoRef=useRef(空)
useffect(()=>{
const{current:videoElement}=videoRef
videoElement.setAttribute('muted','')
}, [])
正如我所看到的,这是几年来众所周知的问题,这个解决方案就是从这里开始的: