首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在观看视频时自动打开弹出窗口

如何在观看视频时自动打开弹出窗口
EN

Stack Overflow用户
提问于 2021-11-19 12:40:01
回答 1查看 47关注 0票数 2

我在React中有一个视频播放器,我需要打开弹出/模式窗口来检查用户是否在观看视频的随机秒数上不是机器人。

算法:用户打开网站->观看视频->在随机的第二个弹出窗口/模式出现->用户确认验证码(我不是机器人) ->模式/弹出窗口消失->视频继续播放。

EN

回答 1

Stack Overflow用户

发布于 2021-11-19 14:04:33

更多的信息,如你正在使用的代码片段和包将是有帮助的。但是如果你使用的是react-player,你可以这样做:

代码语言:javascript
复制
const Player = () => {
  const playerRef = useRef();
  const [playing, setPlaying] = useState(true)
  const [randomSecond, setRandomSecond] = useState(0)
  const [captchaConfirmed, setCaptchaConfirmed] = useState(false)

  useEffect(() => {
    if (playing || captchaConfirmed) {
      return
    }
    checkCaptcha()
  }, [playing])
  const checkCaptcha = () => {
    if (window.confirm('Are you a human')) {
      setCaptchaConfirmed(true)
      setPlaying(true)
    }
  }

  return (
    <ReactPlayer
      ref={playerRef}
      playing={playing}
      onDuration={(duration) => {
        setRandomSecond(Math.floor(Math.random() * duration))
      }}
      onPlay={() => setPlaying(true)}
      onProgress={async (data) => {
        if (captchaConfirmed || data.playedSeconds < randomSecond) {
          return
        }
        setPlaying(false)
      }}
      url='https://www.youtube.com/watch?v=HYDs1FNNvfs' />
  )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70034998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档