2013-12-08 38 views
0

我搜索了很多。找到有关如何检查当前网页上是否存在特定字符串的信息。我花了几个小时找出我的问题: 我正在使用一个XML文件与clientdetails。检查url的页面源文件是否存在

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

我用:

window.XMLHttpRequest 

来获取信息。并且

getElementsByTagName("Url") 

得到属于客户端名称的Url。

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

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

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

任何人都可以告诉我如何检查一个文本字符串的外部URL的源代码(与客户端在XML文件中)?

感谢


眼下我'利用这一点,但它不工作,检查从XML文件中的跨网域网址是否包含在源/页文本字符串。任何人都可以帮忙吗?

<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

“external url”是指跨域吗? –

+0

是的,确实跨域,其实它在 user3080635

回答

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(); 
+0

嗨,对不起。现在我使用这个,但它不起作用。我能做些什么? – user3080635