Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ReactJS中的自动播放视频不适用于Chrome_Javascript_Reactjs_Video_Autoplay - Fatal编程技术网

Javascript ReactJS中的自动播放视频不适用于Chrome

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>

我刚刚用ReactJS创建了一个网站,并注意到主页上的视频并没有开始在Chrome上播放。只有当我转到不同的页面,然后返回主页时,它才会开始播放。有人有什么建议吗?在某个地方,我看到他们用JQuery修复了它,但我不想在React中添加JQuery,直到它真正需要

我用过这样的视频

<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','')
}, [])
正如我所看到的,这是几年来众所周知的问题,这个解决方案就是从这里开始的: