reactjs - 如何在React中捕获YouTube iframe API事件

标签 reactjs iframe youtube react-hooks postmessage

我使用iframe导入YouTube嵌入网址

<iframe
          id="ytVideo"
          src={embed_url}
          allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture;"
 ></iframe>

然后我想在youtube视频onPlay和onPause时收听事件

为此,我在useEffect上设置了window.addEventListener以获取iframe的postMessage事件onStateChange event
useEffect(() => {
    window.addEventListener("message", event => {
      console.log("event", event.data);
    });
    return () => {};
  }, []);

但是播放youtube视频时没有任何捕捉。

最佳答案

这是Google建议您设置的方式。它涉及到设置一个YT.Player对象。

https://developers.google.com/youtube/iframe_api_reference

关于reactjs - 如何在React中捕获YouTube iframe API事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58212730/

相关文章:

javascript - 如何将其绑定(bind)到 React ES6 getter 和 setter 函数?

android - WebView 中的嵌入式 YouTube 视频不符合全屏设置

javascript - 订阅youtube js

html - 有什么方法可以使用谷歌浏览器在 https 页面内显示 iframe(http) 吗?

html - 无法在 Firefox 和 IE 中将框架高度设置为 100%

javascript - 将不同的链接分配给不同的图像,并使其在iframe容器上播放分配的(youtube)链接

javascript - 在 ReactJS 中使用搜索框时如何显示来自 API 的信息?

javascript - 了解 React 如何/为什么/何时更新 DOM 以及如何使用它

javascript - "useState"不能在回调中调用。如何在 "useCallback"上使用状态?

java - Selenium WebDriver 中的 driver.switchTo().parentFrame() 和 driver.switchTo().defaultContent() 方法有什么区别?