AJAX: подгрузить HTML со скриптом

nerezus

Вселенский отказник
AJAX: подгрузить HTML со скриптом

Как через AJAX подшрузить кусок страницы, в котором скрипт(тоже AJAX) будет менять кусок куска?
Проблема в том, что в подгруженном скрипт не выполняется.

Вобщем ищутся паттерны в тему )
 

dimagolov

Новичок
nerezus, сходи лучше в гугл на тему "динамическая подгрузка JS". есть несколько вариантов разной степени корявости (e.g. eval, создание тега script и прописывание ему src, подгрузка iframe с кодом).

просто чтобы пользоваться подобным, нужно очень хорошо понимать что и зачем ты делаешь. есть много нюансов в написании таких скриптов.
 

nerezus

Вселенский отказник
dimagolov Блин, понял ) Самое главное, что и так через скрипт грузил(для кроссдоменности), но упакованным в строку ) Глючит что-то меня )
 

riff

Новичок
Код:
//myDiv - это контейнер на странице в который добавляешь свой текст
function js(myDiv, text)
{
	var scripts = text.match(/\<script[^\>]+\>[^\x00]*?\<\/script\>/gi); //получаем список скриптов в тексте
	if (scripts === null)
		myDiv.innerHTML = text;
	else
	{
		text = text.replace(/\<script[^\>]+\>[^\x00]*?\<\/script\>/gi, ''); //очищаем текст от скриптов
		myDiv.innerHTML = text;
		for (var i=0; i<scripts.length; i++)
		{
			var script = document.createElement('script');
			script.type = 'text/javascript';
			if (/src=".+?"/.test(scripts[i]))
				script.src = scripts[i].match(/src="(.+?)"/i)[1]; //если скрипт загружается по ссылке
			else //если скрипт находится между тэгами
				script.text = scripts[i].match(/\<script[^\>]+\>([^\x00]*?)\<\/script\>/i)[1];
			myDiv.appendChild(script); 
		}
	}
}
 
Сверху