核心提示:基于JQuery及JSON的TwitchTV直播应用,这是一款通过JSON把Twitch TV中部分播主的直播状态获取到页面的应用,界面如下: (点击ONLINE或OFFLINE可以仅显示在线或离线的...
基于JQuery及JSON的TwitchTV直播应用,这是一款通过JSON把Twitch TV中部分播主的直播状态获取到页面的应用,界面如下:

(点击ONLINE或OFFLINE可以仅显示在线或离线的播主,点击ALL STREAMS则显示所有播主)

(蓝色打勾则是正在直播的播主,红色叉叉则是离线播主)
(点击蓝色名字播主,即可进入其直播间)
JQuery:
$(document).ready(function() {
//希望获取的播主的名称,这个数组可以按照自己的需要增删播主
var streamer = ["freecodecamp", "storbeck", "terakilobyte", "habathcx", "RobotCaleb", "thomasballinger", "noobs2ninjas", "beohoff", "TR7K", "ESL_SC2", "Sad_Junior", "brunofin", "Monstercat", "LobosJR", "Zfg1"];
var html = "";
//这个url用于离线播主的头像显示
var logoUrl = "https://pbs.twimg.com/profile_images/2349866958/m9pjwl1x1n3nvzf8x8rc.png";
//遍历每一个数组内的播主
streamer.forEach(function(e) {
//使用$.getJSON()获取数据
//url中的client_id需要自己去到twitch内注册登录后在后台获取
$.getJSON('https://api.twitch.tv/kraken/streams/' + e + '?client_id=fzbbk79fm2hjsqemyxcgfhhmqebtvw&callback=?', function(data) {
if (data.stream === null) {
html += "<p class='item' id='offline'><p class='item-child item-icon'><img src='" + logoUrl + "'></p><p class='item-child item-name offline'>" + e + "</p><p class='item-child item-status'><i class='fa fa-times' aria-hidden='true'></i></p></p>";
$(".container").html(html);
} else if (data.error !== null && data.error !== undefined) {
html += "<p class='item' id='offline'><p class='item-child item-icon'><img src='" + logoUrl + "'></p><p class='item-child item-name offline'>" + e + "</p><p class='item-child item-status'><i class='fa fa-ban' aria-hidden='true'></i></p></p>";
$(".container").html(html);
} else {
html += "<p class='item' id='online'><p class='item-child item-icon'><img src='" + data.stream.channel.logo + "'></p><p class='item-child item-name'><a href='" + data.stream.channel.url + "' target='_blank' class='online'>" + e + "</a></p><p class='item-child item-status'><i class='fa fa-check' aria-hidden='true'></i></p></p>";
$(".container").html(html);
}
});
});
//以下是三个按钮的监听事件
$("#pickOnline").click(function() {
$("[id='online']").show();
$("[id='offline']").hide();
});
$("#pickOffline").click(function() {
$("[id='offline']").show();
$("[id='online']").hide();
});
$("#pickAll").click(function() {
$(".item").show();
});
});


