Ajax调用后,Youtube-Api按钮将不会显示

时间:2018-06-26 23:39:18

标签: javascript php youtube-api gapi

我正在尝试为自己的项目之一设置youtube上传。我使用的是来自Google的示例代码,可以在这里找到: https://developers.google.com/youtube/v3/code_samples/javascript#upload-a-video

用于上传视频的脚本效果很好。我唯一的问题是:

我想为上传提供多个区域,或者说多个上传。

有一个包含登录按钮和视频本身的常规文件。该文件将通过Ajax加载到DIV容器中。加载文件也可以正常工作。唯一的问题是,如果文件是通过ajax加载的,则登录按钮将不会显示。

在我看来,我将不得不再次初始化api,但是即使在网上搜索了几个小时,我也无法找到任何东西。我所知道的是,以下代码是由api自动加载的:

googleApiClientReady = function() {
    gapi.auth.init(function() {
        window.setTimeout(checkAuth, 1);
    });
}

所以我认为我需要找出一种方法,一旦ajax调用完成,如何再次加载该函数。我只是不知道如何。每次我尝试调用此函数时,浏览器都会向我显示gapi.client错误消息。

有人有使用youtube api的经验吗?我在这里做错了什么?谢谢

1 个答案:

答案 0 :(得分:0)

答案将在这一行:

UploadVideo.prototype.handleUploadClicked = function() {
  $('#button').attr('disabled', true);
  this.uploadFile($('#file').get(0).files[0]);
};

如果在上传并获取视频数据后调用此函数,它将禁用上传按钮。只需删除该行,您就可以上传多个视频。

希望这会有所帮助。