Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Загрузка HTML-кода на страницу, содержащую скрипты
Иногда возникает необходимость обновить часть страницы.
Простейшее использование innerHTML здесь может не сработать, т.к. на загружаемой странице могут быть скрипты, изменяющие её содержимое. Вот тут Вам и поможет следующий код:
<script>
var t='';
// выделяем с загружаемой страницы все скрипты
re1=new RegExp ("<script(.*)>((.|[\r\n])*)<\/script>","i");
while((text=re1.exec(data))!=null){
// на случай, если содержимое скрипта для валидности заключено в комментарий
text[2]=text[2].replace('<!--',"").replace("//-->","");
// если скрипт подгружает внешний файл, выделяем его имя и загружаем его
if(text[1].indexOf('src=')>0){
var re2=new RegExp ("src=[\'\"](.*)[\'\"]","i"); te2=re2.exec(text[1]);
if(te2!=null)
t=t+"\r\nLoadScript('"+te2[1]+"');";
}else t=t+"\r\n"+text[2];
data=data.replace(re1, "");
}
obj.innerHTML=data;
if(t)ExecScript(t);
</script>
Описание функций: LoadScript и ExecScript.
.
Прокомментировать/Отблагодарить