Показать сообщение отдельно
  #5 (permalink)  
Старый 01.02.2012, 11:05
Новичок на форуме
Отправить личное сообщение для Евгений М Посмотреть профиль Найти все сообщения от Евгений М
 
Регистрация: 01.02.2012
Сообщений: 4

Последнюю проблему решил. Вместо document.write просто добавлял новые элементы через document.createElement
Окончательный код:
var link_index = 0;
var body = document.getElementById('body_id');

function addElement(content)
{
	newspan = document.createElement('span');
	newspan.innerHTML = content;
	body.appendChild(newspan);
}

function writeResult(xmlDoc)
{
	forumtitle = xmlDoc.getElementsByTagName("forumtitle")[0].childNodes[0].nodeValue;
	titles = xmlDoc.getElementsByTagName("title");
	links = xmlDoc.getElementsByTagName("link");
	len = titles.length;
	
	if (len == 0) return;
	
	content = '';
	
	content += '<h1>' + forumtitle + '</h1>';
	
	for (i=0;i<len;i++)
	{
		link = links[i].childNodes[0].nodeValue;
		title = titles[i].childNodes[0].nodeValue;
		content += '<a target="_blank" href="' + link + '">' + title + '</a><br>';
	}
	
	addElement(content);
}

function asyncHandler()
{
	if (this.readyState != 4)
		return;
	
	if (this.status == 200)
	{
		writeResult(this.responseXML);
		link_index++;
		runXMLRequest();
	}
}

function runXMLRequest()
{
	if (link_index>=linkArray.length)
		return;
	
	link = linkArray[link_index];
	requestLink = 'controller.php?' + link;
	
	xmlhttp = new XMLHttpRequest();
	xmlhttp.open("GET", requestLink, true);
	xmlhttp.onreadystatechange = asyncHandler;
	xmlhttp.send();
}

var linkArray = new Array();

// linkArray = [...]

runXMLRequest();
Ответить с цитированием