【问题标题】:Embedding a video with YouTube API results in 404 error使用 YouTube API 嵌入视频会导致 404 错误
【发布时间】:2015-10-19 17:03:43
【问题描述】:

我正在尝试使用 YouTube 的 API 在我的网站上嵌入视频(我们拥有该视频),而不是从一开始就创建 iframe。当我提供videoId 时,它在视频上给了我一个 404 错误。但是当我创建一个 iframe 并在 url 中使用 ID 时,它可以正常工作并找到视频。

这是播放器创建代码:

function onYouTubeIframeAPIReady() {
        player = new YT.Player('videoPlayer', {
          height: '720',
          width: '1280',
          videoId: 'jQo4HLEwutg',
          playerVars: {'controls':0, rel: 0, 'showinfo': 0, 'modestbranding': 1, 'enablejsapi': 1, 'origin': 'https://www.mycompany.com' },
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

404是这样的,具体来说:

“网络错误:404 未找到 - https://www.youtube.com/get_video?noflv=1&video_id=jQo4HLEwutg&cpn=FnysBfLg7QmW1DiI&el=embedded&referrer&eurl=https%3A%2F%2Flocalhost%3A444%2F&fmt=134&ptk=youtube_none&splay=1

使用标准的 iframe,这是可行的:

<iframe id="videoFrame" src="https://www.youtube.com/embed/jQo4HLEwutg?enablejsapi=1&origin=https://www.mycompany.com&rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>

为什么在 iframe URL 中使用相同的视频 ID 但不能作为函数中的参数使用?

(这是我第一次尝试使用 API;如果我遗漏了一些明显的东西,请见谅。)

【问题讨论】:

  • 您是在运行本地网络服务器还是只是在浏览器中加载index.html
  • 本地 IIS 实例。

标签: javascript iframe youtube


【解决方案1】:

https://developers.google.com/youtube/iframe_api_reference 之后,您可以设置您的视频以正常工作。我尝试使用播放器对象上的视频参数,它确实有效。尝试在您的服务器上运行您的页面。 http://jsbin.com/tazocariqu

【讨论】:

  • 谢谢,但该链接正是我使用的;代码直接复制粘贴。我确实想知道服务器是 localhost(它是服务器;IIS 的本地实例)这一事实是否与它有关。我会尝试将其转移到我们的 QA 环境中,看看是否会有所作为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-01
  • 2016-02-28
  • 1970-01-01
  • 2021-02-26
  • 2016-04-16
相关资源
最近更新 更多