0

わかりました。Webで検索しても解決できなかったJavaScriptの簡単なことです。私は正しいものを見つけたと思いますが、正しい場所に置くことができませんでした。

このコードは、ストリームがオンラインかオフラインかを教えてくれます。しかし、どうすればステータスを確認し、5秒ごとに更新し続けることができますか?

$(function () {
    $.ajax({
        type: 'GET',
        url: "http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
        dataType: 'jsonp',
        success: function (jsonp) {
            // parse the JSON data on success
            var channel = eval(jsonp);
            liveChannel = channel.channel.isLive;

            if (liveChannel == true) {
                document.getElementById('mydiv').innerHTML = '<p style="color: #00FF00">Online!</p>';
            } else {
                document.getElementById('mydiv').innerHTML = '<p style="color: #C0C0C0">Offline!</p>';
            }


        }
    });
});
4

3 に答える 3

1

設定タイムアウト機能を使用する

setTimeout(function(){
  //your function
  foo();
},1000);
于 2013-02-11T02:51:50.440 に答える
1

例 :

var myAjaxCall = function() {
$.ajax({
    type: "GET",
    url: options.feedUrl,
    dataType: "xml",
    async:options.sync,
    success: function(xml) {
        // todo
    }
};

var ResInterval = window.setInterval(myAjaxCall, 60000); // 60 seconds

止まる:

window.clearInterval(ResInterval);
于 2013-02-11T02:53:13.627 に答える
0

これを試してみてください:

function checkStatus() {
    $.ajax({
        type: 'GET',
        url: "http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
        dataType: 'jsonp',
        success: function (jsonp) {
            // parse the JSON data on success
            var channel = eval(jsonp);
            liveChannel = channel.channel.isLive;

            if (liveChannel == true) {
            document.getElementById('mydiv').innerHTML = '<p style="color: #00FF00">Online!</p>';
             } else{
                document.getElementById('mydiv').innerHTML = '<p style="color: #C0C0C0">Offline!</p>';
            }
        }
    });
}

$(function() {
    setInterval(checkStatus, 5000);
});

checkStatusこれにより、 5000ミリ秒(5秒)ごとに関数が呼び出されます。

于 2013-02-11T02:54:26.200 に答える