| 
 Парсинг названия аудиопотока из XSL Всем привет! Я ньюфаг, и понемногу пытаюсь изучать JS на примере чужого кода. У меня есть рабочий код для вывода названия трека на jQuery, но теперь я хочу обойтись без jQuery. В поисках наткнулся на этот код: 
function getTitle(){
    if(typeof meta.title != "undefined"){
        return meta.title;
    } else {
        return defaultSongTitle
    }
}
var radioMetaUpdated = new Event('radioMetaUpdated');
audio.addEventListener('playing', function () {
    console.log('plays');
    chrome.browserAction.setIcon({
        path: {"38": 'pause.png'}
    });
    if (metaRefreshTimer !== null) {
        clearInterval(metaRefreshTimer);
        console.log('clearInterval');
    }
    function refreshMeta() {
        function reqListener() {
            var new_meta = JSON.parse(this.responseText);
            new_meta.title = new_meta.artist + ' - ' + new_meta.track;
            if (new_meta.title != getTitle()){
                meta = new_meta;
                audio.dispatchEvent(radioMetaUpdated);
                chrome.browserAction.setTitle({"title": new_meta.title});
                gaSendEvent('User', 'listening', new_meta.title);
            }
        }
        var oReq = new XMLHttpRequest();
        oReq.addEventListener("load", reqListener);
        oReq.open("GET", "http://api.radioskovoroda.com:3000/api/stream/current/radio");
        oReq.send();
    }
    refreshMeta();
    metaRefreshTimer = setInterval(refreshMeta, 5000);
});
Проблема в том, что этот код отлично работает для "своего" аудиопотока, ведь у него данные о композиции хранятся в переменных "artist" и "track", но когда я его пытаюсь приладить под нужды моего (в котором данные о композиции хранятся в одной переменной "title"), то все ломается и не работает: 
function getTitle(){
    if(typeof meta.title != "undefined"){
        return meta.title;
    } else {
        return defaultSongTitle
    }
}
var radioMetaUpdated = new Event('radioMetaUpdated');
audio.addEventListener('playing', function () {
    console.log('plays');
    chrome.browserAction.setIcon({
        path: {"38": 'pause.png'}
    });
    if (metaRefreshTimer !== null) {
        clearInterval(metaRefreshTimer);
        console.log('clearInterval');
    }
    function refreshMeta() {
        function reqListener() {
            var new_meta = JSON.parse(this.responseText);
            new_meta.title = new_meta[0].title;
            if (new_meta.title != getTitle()){
                meta = new_meta;
                audio.dispatchEvent(radioMetaUpdated);
                chrome.browserAction.setTitle({"title": new_meta.title});
                gaSendEvent('User', 'listening', new_meta.title);
            }
        }
        var oReq = new XMLHttpRequest();
        oReq.addEventListener("load", reqListener);
        oReq.open("GET", "http://live.sovaradio.ru:8000/stream");
        oReq.send();
    }
    refreshMeta();
    metaRefreshTimer = setInterval(refreshMeta, 5000);
});
Неделю уже бьюсь :help: :help: :help: Заранее большое спасибо! | 
| 
 И где на http://live.sovaradio.ru:8000/stream JSON, если ответ это аудиопоток? | 
| 
 Для начало вбейте вашу адресную строку и строку из примера в браузер и посмотрите что на выходе как узнать откуда брать данные? в Хроме заходим на http://sovaradio.ru/ для верности жмем плей (но не обязательно) жмем Ф12 - network -XHR видим какие запросы делает страница и какие ответы получает status-json.xsl это наше, смотрим в ответе где лежит наша информация и в коде меняем запрос на https://live.sovaradio.ru/status-json.xsl ну и в объекте данные будут лежать немного в другом месте | 
| 
 Цитата: 
 Цитата: 
 | 
| Часовой пояс GMT +3, время: 00:48. |