0

我正在尝试使用 Youtube Upload Widget 从网站上传视频。我有以下 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。我希望能够在上传视频时更新其元数据。

4

2 回答 2

0
event.target.setVideoTitle($("#title"));
event.target.setVideoDescription($("#description"));
event.target.setVideoPrivacy($("#privacy"));

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

于 2013-03-11T18:46:30.013 回答
0

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

感谢您的帮助布拉德。

于 2013-03-19T13:28:56.560 回答