Показать сообщение отдельно
  #1 (permalink)  
Старый 27.06.2019, 09:13
Кандидат Javascript-наук
Отправить личное сообщение для pokk Посмотреть профиль Найти все сообщения от pokk
 
Регистрация: 30.01.2014
Сообщений: 145

Динамическая подгрузка HTML+javascript
Добрый день. Есть у меня сайт состоящий из несколько страниц, переключение которых осуществляется вкл/выкл отображения div, т.е при загрузке index.html загружаются все страницы.
Теперь же одна из страниц сильно разрослась, и я её хочу убрать, вынести в другой файл и соответственно вынести JS который обрабатывается на этой странице.
Сделал пока так:
HTMLElement.prototype.load = function (url,id) {
    // var el = this; // сслыка на DOM-объект
    var el=document.getElementById(id);
    var http = new XMLHttpRequest();
    http.open("GET", url);
    http.onreadystatechange = function () {
        if(http.readyState != 4 && http.status != 200) return; // можно ошибки обрабатывать
        el.innerHTML = http.responseText;
    }
    http.send(null);
}

Где Html сайт выглядит примерно так:
<script>
function test(){
	alert("13123");
}
</script>
<div class="steeldetail_block" id="sdb2">
<input type="button" value="Test" onclick="test();">
....
</div>


HTML загружаться нормально, а вот скрипт не работает =(
Видел решение проблемы вызов через eval функции, но это если js файл отдельно подгружается, а как быть если он вместе с HTML загрузился?

Отдельную страницу хочу сделать не зависимой, и внутри неё будет inline js, может быть CSS(собираеться через gulp), для того что бы было меньше запросов при погрузке страниц.
Ответить с цитированием