2013-12-08 65 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