【问题标题】:Using react-player API causing Failed to execute 'postMessage' on 'DOMWindow' error in the console?使用 react-player API 导致无法在控制台中的“DOMWindow”错误上执行“postMessage”?
【发布时间】:2020-12-28 09:09:06
【问题描述】:

我已经按照用户的建议安装了 react-player,它解决了我最初的问题,但现在我在 chrome Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('<URL>') does not match the recipient window's origin ('<URL>'). 的控制台中出现了这个错误,我不知道该怎么办? 我的代码如下(我的完整代码只有sn-ps):

import React, { useRef, useState, useEffect } from 'react';
import ReactPlayer from 'react-player/youtube'

function Webapps() {

const autoplayChange = () => {
        console.log('playing!')
    }
return(
<div className='iframeContainer'><ReactPlayer url={Projects.videoAddress} muted={true} controls={false} onPlay={autoplayChange} onPause={autoplayChange} onEnded={autoplayChange}/></div>
)

}

【问题讨论】:

    标签: javascript html reactjs youtube-javascript-api youtube-iframe-api


    【解决方案1】:

    此错误表示您使用的 URL 与您网站的来源/地址不匹配。

    这称为cross origin resource sharing,如果网站不允许您在其他网站上显示其内容,这是一个警告。幸运的是,youtube 确实允许您使用他们的视频。就我而言,警告似乎是由于他们的广告嵌入内容。内容应该可以正常工作。

    一个代码沙盒example here

    【讨论】:

    • 嗨,再次感谢您的回复,伙计,错误应该被忽略吗? 'youtube.com/embed/-zuxYPJrlmw' 这是我存储在 Json 中的链接之一的示例,您发现它有什么问题吗?还要感谢第二个提示,但它没有存储在 Iframe 中,它只是我在
      元素上用于样式的名称。
    • 我尝试嵌入链接的方式与您使用“youtube.com/watch?v=-zuxYPJrlmw”的方式相同,但结果仍然相同
    • 哦,我知道你对&lt;div&gt; 做了什么,这很有道理,我应该仔细阅读!总而言之,您看到的警告与我的屏幕截图中的相同吗?如果是这样,我认为您可以放心地忽略它。如果您收到一个不允许您播放视频的错误,请告诉我,让我们进一步调试。
    【解决方案2】:

    我不得不禁用我的 Add-Blocker。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签