2017-02-14 4 views
0

Ich habe ein seltsames Problem mit der Verwendung der Youtube API v3 in jQuery. Obwohl ich voller Dokumentation war, konnte ich keinen schnellen und einfachen Weg finden, die Anzahl der Abonnenten zu erfassen. Irgendwann bin ich über einen gelaufen und es funktioniert großartig in einem Projekt hier; http://codepen.io/Sepshun/pen/bgOgzEGrundlegende JS Youtube Teilnehmerzahl funktioniert nicht mit jQuery

// 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)); 
} 

Wenn jedoch diesen Code mit jQuery Rekonstruieren (bei der Linie 33 ausgehend) über einen Tisch, auf mehreren Konten zu arbeiten, wird der Teil youtube nicht funktioniert; http://codepen.io/Sepshun/pen/apXqKO?editors=0011 (Zeile 29)

Um es zusammenzufassen, definiere ich eine Variable, die, wenn sie verwendet wird, ein Skriptelement erstellt, dann setze ich die Quelle dieser Variablen als Link zu Youtube API, basierend auf welchem ​​Kanal Die ID ist derzeit vorhanden, wobei & callback = getJSON verwendet wird. Wenn das Skript geladen wird, sollte es die Funktion getJSON aufrufen. Von dort wird die Abonnentenanzahl als Variable gespeichert und dann in ein DOM-Element geschrieben, das durch Anhängen der getsubs initialisiert wird variabel zum Kopf. Dies funktioniert einwandfrei im ersten verknüpften Stift, aber im zweiten Stift wird das Skriptelement zum Kopf hinzugefügt, ruft aber nicht die Funktion getJSON auf.

Ich habe versucht, nach einem ähnlichen Problem zu suchen, aber es scheint, dass dies ein bisschen zu spezifisch ist, um anderswo Antworten zu finden.

Antwort

0

(Veröffentlicht im Namen des OP).

löste ich das Problem mit einem Pastebin Bit ich an anderer Stelle gefunden:

http://pastebin.com/vUaxpHWJ 
http://codepen.io/Sepshun/pen/xgMQBP?editors=0011 
Verwandte Themen