使用XML数据和Javascript制作一个直播在线/离线徽章

Using XML Data and Javascript to Make a Livestream Online/Offline Badge

本文关键字:直播 一个 在线 徽章 离线 数据 XML Javascript 使用      更新时间:2023-09-26

我正在尝试制作一个徽章,说明我的Livestream频道是在线还是离线。我发现一些javascript可以做到这一点的Twitch频道:

(function() {
  var user_name, twitch_widget;
  user_name = "nerdist";
  twitch_widget = $("#twitch-widget");
  twitch_widget.attr("href","http://twitch.tv/" + user_name + "/embed");
  $.getJSON('https://api.twitch.tv/kraken/streams/' + user_name + '?client_id=' + '&callback=?', function(data) {   
      if (data.stream) {
          twitch_widget.html("<span class='online'></span><strong> nerdist</strong></br><span class='live'>Online! Playing: " + data.stream.game + "</span>");
      } else {
          twitch_widget.html("<span class='offline'></span><strong> nerdist</strong></br><span class='notlive'>Offline</span>");
      }  
  });
})();

我用它来制作一个功能徽章,如下所示:http://codepen.io/EagleJow/pen/GpmGQe

效果很好,但我也想用Livestream频道做到这一点,我不确定如何去做。我可以通过查看javascript,它能够通过查看twitch上的JSON文件来识别频道是否在线。电视服务器。

我希望有人能帮助我通过调整代码与直播频道工作。我已经发现(从这里:http://original.livestream.com/userguide/index.php?title=Main_Page&title=Channel_API#Channel_Live_Status),你可以找到一个直播频道的直播状态通过这个xml页面:x Channel Name x.api.channel.livestream.com/2.0/livestatus.xml

^将Channel Name替换为直播频道的名称

如果通道在线,则显示<ls:isLive>true</ls:isLive>如果通道离线,则显示<ls:isLive>false</ls:isLive>

我最好的猜测是这样的:

(function() {
  var livestream_widget;
  livestream_widget = $("#livestream-widget");
  livestream_widget.attr("href","[channel URL]");
  $.getXML('http://xdaytradingradiox.api.channel.livestream.com/2.0/livestatus.xml', function(data) {  
      if (data.stream) {
          livestream_widget.html("<span class='online'></span><strong> daytradingradio</strong></br><span class='live'>Online!</span>");
      } else {
          livestream_widget.html("<span class='offline'></span><strong> daytradingradio</strong></br><span class='notlive'>Offline</span>");
      }  
  });
})();

但我不确定该放什么代替"函数(数据)"answers"如果(数据流)"。比如"if (isLive=true)" ?

(function() {
  var livestream_widget;
  livestream_widget = $("#livestream-widget");
  livestream_widget.attr("href","[channelurl]");
  $.getJSON('http://xdaytradingradiox.api.channel.livestream.com/2.0/livestatus.json?callback=?', function(data) {  
      if (data.channel.isLive === true) {
          livestream_widget.html("<span class='online'></span><strong> daytradingradio</strong></br><span class='live'>Online!</span>");
      } else {
          livestream_widget.html("<span class='offline'></span><strong> daytradingradio</strong></br><span class='notlive'>Offline</span>");
      }  
  });
})();