相关疑难解决方法(0)

YouTube iframe播放器API - OnStateChange未触发

我确实只是复制并粘贴了来自YouTube开发者页面的iframe嵌入式YouTube播放器API参考代码(来自"使用入门"标题下方).唯一的区别是,当状态改变时我添加了一个警报,因为我认为我在onPlayerStateChange函数中做错了.

你可以在http://jsfiddle.net/jesMv/看到j​​sFiddle .

如上所述,它只是YouTube开发人员页面中添加的代码的精确副本

alert('State Changed')
Run Code Online (Sandbox Code Playgroud)

作为在onPlayerStateChange函数中触发的第一件事.

然而,没有任何事情发生......无论我如何看待这个以及我改变了什么,我都无法让onStateChange做任何事情.

我该如何解决这个问题?

javascript youtube-api

15
推荐指数
1
解决办法
3万
查看次数

Youtube iframe API:OnReady未针对Chrome扩展程序触发

我正在尝试使用Youtube的iframe API构建Chrome扩展程序以显示Youtube视频.但是,玩家的OnReady事件永远不会发生.从以前的帖子我收集这是因为Youtube无法访问播放器,因为它是本地实例.

我想知道:有没有办法让这项工作?


我的代码在弹出窗口中实例化播放器.我想通过将视频ID传递给播放器的loadVideoById函数来向播放器播放新视频.这是我的播放器的代码(在名为'youtube.js'的文件中):

function loadPlayer() {
var popups = chrome.extension.getViews({type: "popup"});
if (popups.length != 0) {
    var popup = popups[0];
    console.log("Popup found, starting to load the player...");
    var tag = popup.document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = popup.document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    var done = false;
    console.log("Finished loading the player.");
    }
}
Run Code Online (Sandbox Code Playgroud)

onYouTubeIframeAPIReady函数如下:

function onYouTubeIframeAPIReady() {
    console.log("Starting to instantiate the player...");
    var popups = chrome.extension.getViews({type: "popup"});
    if (popups.length != 0) {
        var popup = popups[0];
        popup.document.ytplayer = new YT.Player('player', {
            height: …
Run Code Online (Sandbox Code Playgroud)

javascript youtube iframe google-chrome-extension

5
推荐指数
1
解决办法
2630
查看次数

Youtube 嵌入 Iframe - 事件未在本地触发

我刚刚注意到,当我在本地进行测试时,Youtube 事件(onReady、onStateChange)不再触发,但当我将代码上传到JsFiddle时,Youtube 事件(onReady、onStateChange)不再触发。我决定从Youtube Player API复制并粘贴代码,我可以在其中验证它确实无法正常工作。还有其他人有这个问题吗?此问题出现在 Chrome、Firefox、IE、Safari 和 Opera 上。

编辑 - 当我console.log(player);在本地时,我发现它缺少很多 Youtube 功能,例如seekTo(), setVolume()showVideoInfo()这些功能存在于 JsFiddle 中。我不确定为什么会发生这种情况,但我相信这可能是我的问题的根源。有任何想法吗?

http://jsfiddle.net/8ZmKx/

<!DOCTYPE html>
<html>
  <body>
    <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
    <div id="player"></div>

    <script>
      // 2. This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');

      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

      // 3. This function creates an <iframe> …
Run Code Online (Sandbox Code Playgroud)

javascript youtube youtube-api

3
推荐指数
1
解决办法
9885
查看次数