我的想法是,我希望能够用html或css编写它来每10分钟ping一次地址或IP以检查它是否会反弹信号,如果是,那么我网站上的状态就是“在线”,或者如果它没有收到信号,则会更改我网页上的文字以说“离线”。我不知道如何使它可以与几个服务器一起使用Interchangeable,到目前为止我只找到了一种方法来处理cron作业,但我正在运行Windows 7并且不知道如何在模拟器中编写脚本我找到。另外我对html和css相当新,或者我可能已经知道如何做到这一点:/
非常感谢任何帮助,提前致谢。
答案 0 :(得分:3)
你能在外部服务器上写一个文件吗?
如果是这样,请在那里添加一个小样式表来改变以下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标题中列出 last 。
但是,这种纯CSS方法可以每隔十分钟重复不 - 为此,您需要JavaScript。
向外部服务器发出JSON-P请求,在HTML中将文本默认为“离线”,如果JSON-P请求成功,则将其更改为“在线”。 (JSON-P永远不会返回错误。)但是,这还要求您在该外部服务器上拥有自己的页面以返回JSON,即使它是空的。
如果您无权写入外部服务器,那么您可能做的事情可能不多。
答案 1 :(得分:1)
为此,您需要在页面中添加一些JavaScript。
您可以执行AJAX请求以确定页面处于联机状态 - 如果AJAX请求成功加载页面,它将返回200状态代码。如果页面与测试页面位于不同的域中,则需要启用跨域请求(CORS)或JSONP响应,或使用服务器上的代理页面。
当然,如果失败,并不意味着网站处于脱机状态 - 您的连接可能已经丢失(例如)。
答案 2 :(得分:0)
您需要在客户端使用服务器基本脚本[PHP / ASP]和JavaScript和AJAX。
你可以使用Library for 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文件:
Ajax将是
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 Library。
您的知识称为Cascading Styled Sheet,它仅用于设计目的。使用CSS,您无法编写脚本,除了样式化页面之外,您无法执行任何操作。 HTML用于创建HTML内容,同样不用于那种东西
为此,你需要学习外部源和javascript之间的“连接部分”的PHP或ASP,以便进行实时更新。