使用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
}
}
...
答案 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成员。