-5

这个想法是,我希望能够用 html 或 css 编写它,以每 10 分钟 ping 一次地址或 IP,以检查它是否会反弹信号,如果是,那么我网站上的状态会显示其“在线” ,或者如果它没有收到信号,那么它会将我网页上的文字更改为“离线”。我不知道如何使它与多台服务器可互换,到目前为止,我只找到了一种使用 cron 作业的方法,但我正在运行 Windows 7,不知道如何在模拟器中编写脚本成立。此外,我对 html 和 css 还很陌生,或者我可能已经知道如何做到这一点:/

非常感谢任何帮助,在此先感谢。

4

3 回答 3

4

你可以在外部服务器上写一个文件吗?

如果是这样,请在此处添加一个小样式表,以更改以下 HTML:

<span class="online">Online</span>
<span class="offline">Offline</span>

从此CSS(在您的服务器上):

.online { display: none; }
.offline { display: inline; }

对此:

.online { display: inline; }
.offline { display: none; }

确保链接它们,以便外部服务器的样式表在 HTML 标头中最后列出。


但是,这种纯 CSS 方法不能每十分钟重复一次——为此,您需要 JavaScript。

向外部服务器发出JSON-P请求,将 HTML 中的文本默认设置为“离线”,如果 JSON-P 请求成功,则将其更改为“在线”。(JSON-P 永远不会返回错误。)但是,这也要求您在该外部服务器上有一个自己制作的页面来返回 JSON,即使它是空的。

如果您无权写入外部服务器,那么您可能无能为力。

于 2013-01-23T20:57:02.143 回答
1

为此,您需要在页面中添加一些 JavaScript。

您可以执行 AJAX 请求来确定页面是否在线 - 如果成功加载页面,AJAX 请求将返回 200 状态代码。如果该页面与您的测试页面位于不同的域中,则您需要启用跨域请求 (CORS) 或 JSONP 响应,或者在您的服务器上使用代理页面。

当然,如果它失败了,这并不意味着该网站处于离线状态 - 您的连接可能已断开(例如)。

于 2013-01-23T20:54:52.960 回答
0

好吧,您需要一个服务器基础脚本 [PHP/ASP] 和带有 AJAX 的 JavaScript 在客户端。

您可以使用 JavaScript jQuery 库 (http://jquery.com/) 一个强大的库,可以让您节省时间。

Html 会是这样的:

<div class='serverstatus'></div>

对于 php,您必须制作一个小脚本,例如

$host = 'Your IP'; 
$port = your.port; 
//here you define the Server Info [IP/PORT]
$timeout = 1;
//You open a connection to that ip on that port and check if responding or not
$handler = fsockopen($host,$port,$errcd,$errstr,$timeout);
if($handler){   
   echo "1";
} else {
   echo "0"; 
} 
fclose($handler);

这是现在用于 JavaScript 的 PHP 文件:

阿贾克斯会

        setTimeout(function() {$.ajax({
            url:'phpfile.php',
            type: 'GET',
            success: function(data){
                if (data == "1") {
                    $(".serverstatus").html("Online");
                }
                else if (data == "0") {
                    $(".serverstatus").html("Offline");
                }
                else {
                    $(".serverstatus").html("Undefined");
                }

            }
        });},600000);

需要 jQuery 库。

据您所知,CSS 称为 Cascading Styled Sheet,它仅用于设计目的。使用 CSS,您无法编写脚本,除了样式化您的页面外,您什么也做不了。HTML 用于创建 HTML 内容,同样它不用于那种东西

为此,您需要学习 PHP 或 ASP 用于外部 Source 之间的“连接部分”,以及用于实时更新的 javascript。

于 2013-01-23T21:06:50.567 回答