Javascript - 从html获取文本到字符串

时间:2013-12-14 00:24:51

标签: javascript php html

使用javascript代码时这是一个PHP。我想要这个:

每隔1秒检查 chat_status.html -text's:status =“offline”

完整代码:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
// jQuery Document
$(document).ready(function(){

function loadChatStatus(){  
    var status = ("http://tulyita.hu/chat/chat_status.html".text);
    if(status == "offline"){
    //this happens 1#
    } else {
    //this happens 2#
    }
}

setInterval (loadChatStatus, 1);    //Reload file every 1 seconds


});
</script>

但它没有奏效。 :(有人能帮帮我吗?

我需要“chat_status.html”中的文字。

function loadChatStatus(){  
    $.ajax({
        url: "chat_status.html",
        cache: false,
        success: function(html){        
            $("#status").html(html); //Insert status into the #status div               
        },
    });
    if($("#status") == "offline"){
    //this happens #1
    } else {
    //this happens #2
    }
}

...

2 个答案:

答案 0 :(得分:1)

您可以使用$.get()从服务器加载内容,并在回调中对其执行操作。示例(未测试):

$.get('http://tulyita.hu/chat/chat_status.html', function (data) {
  if (data === 'chat = off' {
    // happens when offline
  }
  else {
    // happens when online
  }
}, 'text');

请注意,该网页的当前内容为chat = off,而非offline。在您的代码中实现此功能后,请检查data的确切内容。

另请注意,您的HTML页面必须位于tulyita.hu上,或者您必须添加Access-Control-Allow-Origin标头,因为相同来源的政策。

答案 1 :(得分:0)

首先,不要在.ready()中声明loadChatStatus函数,而是在它之外。只保留.ready()函数中的setInterval。 1秒是1000毫秒。 setInterval需要ms。

其次,使用.load()获取url的内容,将其放入(隐藏)div中,然后检查它是什么。你不能只做“string”.text,因为字符串没有.text成员。