检查url的页面源中是否存在文本

时间:2013-12-08 20:05:33

标签: javascript html xml url

我经常搜索。找到有关如何检查当前网页上是否存在某些字符串的信息。我花了几个小时来找出我的问题: 我正在使用带有clientdetails的XML文件。

<Name>Name</Name>
<Url>home.example.com</Url>

我用:

window.XMLHttpRequest

获取信息。和

getElementsByTagName("Url")

获取属于客户名称的Url。

现在我需要检查javascript是否在每个客户端的此外部URL的源代码中存在某个字符串。所以javascript可能必须在后台打开url的源代码并找到文本字符串吗?

作为输出,我需要概述每个客户端在div中的客户端url源代码中存在此文本字符串。

我希望脚本每30分钟执行一次此操作(设置间隔)。

有人能告诉我如何检查外部URL的源代码(与xml文件中的客户端相关)的文本字符串吗?

由于


现在我正在使用它,但它无法检查xml文件中的跨域url是否包含源/页面中的文本字符串。有人可以帮忙吗?

<script>
var xhr = new XMLHttpRequest();
xhr.open     ("GET","http://www.example.nl/check/clients.xml",false);
x=xmlDoc.getElementsByTagName("Table1");
i=0
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
// hasMyString = true, if the response contains a given string.
var hasMyString = x[i].getElementsByTagName("Url")[0].childNodes[0].nodeValue).innerText.indexOf('action') !== -1;
  }
  alert("Action Found"); 
}

</script>

1 个答案:

答案 0 :(得分:0)

您可以检查带有String#indexOf的字符串中是否存在子字符串,因此只需获取XHR的响应文本并找到所需的字符串即可。

var xhr = new XMLHttpRequest();
xhr.open( ... );
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    // hasMyString = true, if the response contains a given string.
    var hasMyString = xhr.innerText.indexOf( ... ) !== -1;
  }
}
xhr.send();