2015-10-07 8 views
0

Я пытаюсь сделать значок, который говорит, является ли мой канал Livestream онлайн или офлайн. Я нашел некоторые JavaScript, который может сделать это для каналов дергаться:Использование данных XML и Javascript для создания логотипа Online/Offline Badge

(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, что он может определить, находится ли канал в сети или нет, если посмотреть на файл JSON на сервере twitch.tv.

Я надеюсь, что кто-то может помочь мне с помощью настройки кода для работы с каналом Livestream. Я уже узнал (отсюда: http://original.livestream.com/userguide/index.php?title=Main_Page&title=Channel_API#Channel_Live_Status), которые вы можете найти живой статус канала прямой через эту XML-страницу: х 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>"); 
     } 
    }); 

})(); 

Но я не уверен, что вместо «function (data)» и «if (data.stream)». Что-то вроде «if (isLive = true)», может быть?

Любая помощь будет оценена по достоинству.

+0

Глядя на эту страницу: http://original.livestream.com/userguide/index.php?title=Main_Page&title=Channel_API#Channel_Live_Status я могу видеть, что это можно использовать JSON вместо XML. Не уверен, что это будет работать лучше или нет. Также этот поток кажется очень похожим, но я все еще не уверен, как его реализовать в коде, который я использую: http://stackoverflow.com/questions/7020357/can-someone-help-me-with-using- апи-прямые трансляции в изготовлении мини-кросс-домен-XML-reque –

ответ

0
(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>"); 
     } 
    }); 

})(); 

 Смежные вопросы

  • Нет связанных вопросов^_^