我经常搜索。找到有关如何检查当前网页上是否存在某些字符串的信息。我花了几个小时来找出我的问题: 我正在使用带有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>
答案 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();