2012-08-13 49 views
0

我的这些论坛的第一篇文章:)使用ping来确定使用Javascript的IF语句?

这是在移动浏览器(在这种情况下android)工作。在知道使用哪个功能之前,我需要检查计算机是否处于开启状态。

有没有一种方法可以确定它的网络状态并运行相应的功能?现在,我只是有测试的消息。 (navigator.notification.alert是用于在移动设备上显示消息的科尔多瓦方法)

我已经编好了这段代码,有没有什么办法可以使这个工作,我做了一些谷歌搜索无济于事。

请注意,这是在本地网络上工作。

function isOn() { 
   $.ajax({ 
       url : 'http://192.168.x.xxx' ,    //x.xxx being the client ip 
       success : function() { 
           navigator.notification.alert(
     'The computer is on.',    //Message body 
     alertDismissed,     //Callback 
     'The Computer is On',    //Title 
     'Yes'      //Button Label 
     ); 
       }, 
       error : function() { 
           navigator.notification.alert(
      'The computer is off.',   //Message body 
      alertDismissed,    //Callback 
      'The Computer is Off',   //Title 
      'Yes'     //Button Label 
      ); 
       } 
   }); 
}; 


<a onclick="isOn();">Test</a> 
+0

那些代码不起作用?它是否在控制台中给出任何错误? – sachleen 2012-08-13 15:01:12

+0

可能重复的[Javascript:检查服务器是否在线?](http://stackoverflow.com/questions/5224197/javascript-check-if-server-is-online) – sachleen 2012-08-13 15:01:56

+0

这是另一个SO相关的问题从JS :http://stackoverflow.com/questions/4954741/how-to-ping-ip-addresses-using-javascript – jwatts1980 2012-08-13 15:02:54

回答

0

url不能只是一个IP。您必须申请一份文件。如果您的客户端没有可用的Web服务器,您将会收到错误消息。

所以,如果你要ping一台电脑,你必须调用服务器端脚本:

$.post('http://myserver.com/ping.php', {'ip': '111.222.123.123'}, function(data){ 
    // your code 
}); 

在服务器端,你可以使用这样的事情:
http://www.codediesel.com/php/ping-a-server-using-php/ ping通客户端,然后返回JSON编码的结果。