Вы близки, пост, на который вы ссылались, в основном описывает очистку страницы с использованием междоменного запроса, который проходит через YQL (Вы можете посмотреть на источник, чтобы точно узнать, что происходит).Вы можете отключить плагин и выполнить то же самое с помощью обычного запроса JSONP с помощью jQuery:
function getCrossDomainJson(url, callback) {
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql?callback=?",
data: {
q: 'select * from xml where url="' + url + '"',
format: "json"
},
dataType: "jsonp",
success: callback
});
}
По сути, эта функция вызывает вызов API-интерфейса запроса Yahoo с запросом на выполнение.Когда ответ возвращается, возвращаемый скрипт вызывает функцию обратного вызова, которую предоставляет jQuery (это то, что делает возможным JSONP).
Используемый вами запрос (указанный в параметре q
) относится к каналу XML, поэтому вам нужно использовать select * from xml
для извлечения данных.Затем вы можете попросить Yahoo предоставить вам результат в формате JSON (я бы рекомендовал использовать его вместо XML; XML был пространством имен).
Теперь, когда вы вызываете эту функцию:
getCrossDomainJson("http://xproshowcasex.channel-api.livestream-api.com/2.0/getstream", function(data) {
// data is in JSON format:
// make sure you can access the isLive property
if (data && data.query && data.query.results && data.query.results.channel) {
alert(data.query.results.channel.isLive);
}
});
Функция обратного вызова получает данные JSON, полученные через YQL, и находит свойство isLive
.
Пример: http://jsfiddle.net/andrewwhitaker/YAGvd/