Дело вот в чём: скрипт, который читает html файлы и выбирает из них опред. информацию. в строке адреса receiver.html?data.html data.html - файл с инфой код ниже... но, одноко, не работает... ( заголовок таблицы выводит,а информацию нет..., htmldoc.getElementsByTagName("td"); htmldoc.getElementsByTagName("small"); - говорит что равно нулю... хотя в документе точно содержаться таблицы. | Код |
<head><title></title> <script language="JavaScript"> function loadHTML(url, handler) { if (document.implementation && document.implementation.createDocument) { var htmldoc = document.implementation.createHTMLDocument(""); htmldoc.onload = function() { handler(htmldoc, url); } htmldoc.load(url); } else if (window.ActiveXObject) { var htmldoc = new ActiveXObject("Microsoft.XMLDOM"); // Create doc. htmldoc.onreadystatechange = function() { // Specify onload if (htmldoc.readyState == 4) handler(htmldoc, url); } htmldoc.load(url); // Start loading! } } function makeTable(htmldoc, url) { // Create a <table> object and insert it into the document. var table = document.createElement("table"); table.setAttribute("border", "1"); document.body.appendChild(table); var caption = "Sostav iz " + url; table.createCaption().appendChild(document.createTextNode(caption)); var header = table.createTHead(); var headerrow = header.insertRow(0); headerrow.insertCell(0).appendChild(document.createTextNode("Place")); headerrow.insertCell(1).appendChild(document.createTextNode("City")); headerrow.insertCell(2).appendChild(document.createTextNode("OnLine")); var city = "", online="", place=""; [B] var tegs = htmldoc.getElementsByTagName("td"); [/B] //alert(tegs.length) - говорит что = нулю.. ( alert(tegs.length); for(var i = 0; i < tegs.length; i++) { var t = tegs[i]; if(t.childNodes.length == 3) if(t.firstChild.nodeType == 3) { var infoT = t.firstChild.data; if(info.substring(0,5)=="some text") city = t.getElementsByTagName("b")[0].fisrtChild.data; } } [B] tegs = htmldoc.getElementsByTagName("small"); [/B] alert(tegs.length); for(var i = 0; i < tegs.length; i++) { var s = tegs[i]; if(s.childNodes.length == 1) { if(s.firstChild.nodeType == 3) { var infoS = s.firstChild.data; if(infoS=="some text" || infoS=="some text") online = infoS; } } else if((s.childNodes.length == 2) && (s.lastChild.nodeType == 3)) { place = s.lastChild.data; } } var row = table.insertRow(i+1); row.insertCell(0).appendChild(document.createTextNode(place)); row.insertCell(1).appendChild(document.createTextNode(city)); row.insertCell(2).appendChild(document.createTextNode(online)); } </script> </head>
<body onload="loadHTML(location.search.substring(1), makeTable)"> </body>
|
Зарание благодарен за помощь.
|