0

最终我要做的就是寻找,是文字It's just you!或者不只是你!在isup.me/echelonservices.co.uk 的结果页面的源中的容器 ID 中:' < div id="container"> '。

我现在找到了一种方法,但无法将 Java 指向正确的站点。我所做的是使用以下 URL:isup.me/echelonservices.co.uk。但是,我在执行此操作时遇到问题。有人可以让我知道一种使用 Javascript 或其他可以使用的脚本源的方法,而无需从网络服务器托管网页。所以从本地客户端计算机运行网页。

这是我想出的最后一次尝试,但到目前为止失败了:

<script type="text/javascript">
//Specify where the sctipt should be running the code against.
window.location.protocol = "http"
window.location.host = "isup.me/echelonservices.co.uk"

//Look for the Class ID and output to a variable.
element = document.getElementById('container');
var Status = element.textContent || element.innerText;

//If the "Status" says: UP write UP, DOWN write DOWN and anything else write Status could not be determined!
if (Status=="UP") {document.write('<div style="color:#00BB00;font-family:Arial;font-weight:bold">UP</div>')}
else {if (Status=="DOWN") {document.write('<div style="color:#FF0000;font-family:Arial;font-weight:bold">DOWN</div>')}
else {document.write('<div style="color:#EDA200;font-family:Arial;font-weight:bold">WARNING:<br>Status could not be determined!</div>')};};
</script>
4

2 回答 2

1

幸运的是,你正在做的事情是不可能的。JavaScript 不能从另一个域读取数据(除非该域被明确设置为允许它)——即使该域是localhost。否则,就有可能创建一个网页,在隐藏的 IFrame 中加载 Facebook 并窃取大量机密用户数据。

您需要做的是使用您选择的服务器端编程语言(PHP、Java、C# 等)在您自己的 Web 服务器上实现相同的逻辑。您将向所需服务器发起 HTTP 请求,相应地解析结果,然后将结果回显给客户端。基本上,您正在创建该服务的代理。

如果您尝试在完全不使用 Web 服务器情况下执行此操作,您可能需要检查另一种客户端技术,例如 WPF、Air、WinForms、Java 等。

于 2013-07-02T16:06:40.960 回答
0

如果您使用的是 firefox,element.innerText则不支持。改为使用element.innerHTML。另外,我不确定这是否是一个错字,但是您的最终else陈述周围有一个额外的右括号。我建议为您的if语句使用不同的语法以使它们更整洁:

if (Status=="UP") {
document.write('<div style="color:#00BB00;font-family:Arial;font-weight:bold">UP</div>')
}
else if (Status=="DOWN"){
document.write('<div style="color:#FF0000;font-family:Arial;font-weight:bold">DOWN</div>')
}
else {
document.write('<div style="color:#EDA200;font-family:Arial;font-weight:bold">WARNING <br>Status could not be determined!</div>')
}
于 2013-07-02T16:02:14.663 回答