【问题标题】:Youtube Upload Widget onApiReady not firingYoutube 上传小部件 onApiReady 未触发
【发布时间】:2013-03-11 18:42:32
【问题描述】:

我正在尝试使用 Youtube 上传小工具从网站上传视频。我有以下 javascript:

function onYouTubeIframeAPIReady() {
    widget = new YT.UploadWidget('widget', {
        events: {
            onApiReady: function (event) {
                event.target.setVideoTitle($("#title"));
                event.target.setVideoDescription($("#description"));
                event.target.setVideoPrivacy($("#privacy"));
            },
            onProcessingComplete: function(event) {
                document.getElementById('processing').style.display = "none";
                clearTimeout(timeout);
                player = new YT.Player('player', {
                    height: 390,
                    width: 640,
                    videoId: event.data.videoId,
                    modestbranding: 1,
                    rel: 0,
                    events: {}
                });

                $("#updates").slideUp('slow', function() { });
            },
            onUploadSuccess: function(event) {
                alert('Video ID ' + event.data.videoId + ' was uploaded and is currently being processed.');
                widgetVideoId = videoId = event.data.videoId;
                timeout = setTimeout(showProcessing, 1);
            }
        }
    });
}

视频上传得很好,但 onApiReady 的函数永远不会触发。我不确定我错过了什么,因为它看起来很完整。希望有人可以就我错过的内容提供一个想法。它不适用于 IE9、FF、Chrome 或 Safari。我希望能够在视频上传时更新其元数据。

【问题讨论】:

  • 你确定它不会触发吗?我猜你的 event.target 语句之一失败了。
  • 我继续在 onApiReady 的回调函数中添加了一条警报语句,它永远不会触发。在 Firebug 或 IE 的开发工具中也不会触发断点
  • 您是否收到任何 javascript 错误?您是否尝试删除其他两个回调?
  • 控制台中没有 javascript 错误。我尝试删除其他两个回调,但 onApiReady 的触发没有变化。

标签: javascript jquery youtube youtube-api


【解决方案1】:
event.target.setVideoTitle($("#title"));
event.target.setVideoDescription($("#description"));
event.target.setVideoPrivacy($("#privacy"));

所有这些方法都需要一个字符串参数,而您正在向它们传递一个 jQuery 对象。 我相信你的意思是使用 .val()

【讨论】:

  • 那是我的错。我已经继续并改变了它,但此时仍然没有骰子。谢谢你的收获
【解决方案2】:

好的,我想通了。看来您必须为小部件控制器使用 <div id="widget"></div> 格式而不是 iframe 方法才能触发 onApiReady。

感谢布拉德的帮助。

【讨论】:

    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    相关资源
    最近更新 更多