基本的JS Youtube订阅者计数不能与jQuery一起使用

时间:2017-02-14 14:11:36

标签: javascript jquery youtube youtube-api youtube-data-api

我在jQuery中使用Youtube API v3时遇到了一个奇怪的问题。虽然文档很多,但我找不到快速简单的方法来获取订阅者数量,最终我遇到了一个,它在这里的项目中运行良好; http://codepen.io/Sepshun/pen/bgOgzE(从第33行开始)

// Create a script element to execute the API URL
var getsubs = document.createElement("script");
getsubs.src = 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id='+channelID+'&key=AIzaSyAyWsBUsAChiYPDOptU-NBAh_p7oExR1oc&callback=getJSON';
document.head.appendChild(getsubs);

// Get Youtube JSON response
function getJSON(response) {
    var subCount = response.items[0].statistics.subscriberCount;

    // Update YT Count Text
    $("#yt-count").text(roundNum(subCount));
}

但是,当使用jQuery重构此代码以处理表中的多个帐户时,youtube部分不起作用; http://codepen.io/Sepshun/pen/apXqKO?editors=0011(第29行)

为了尝试总结,我正在定义一个变量,当使用它时会创建一个脚本元素,然后我根据当前的通道ID将该变量的源设置为Youtube API的链接,使用& callback = getJSON,当脚本加载它时应该调用getJSON函数,从那里,订阅者计数被保存为变量,然后写入DOM元素,这是通过将getsubs变量附加到头部来初始化的。这在链接的第一支笔中完美无缺,但在第二支笔中,脚本元素被添加到头部,但没有调用getJSON函数。

我尝试寻找类似的问题,但似乎有点太具体,无法在其他地方找到答案。

1 个答案:

答案 0 :(得分:0)

(代表OP发布)

我用其他地方找到的pastebin比特解决了这个问题:

<DropDown></DropDown>