Вход

Просмотр полной версии : Убрать ошибку из консоли


Storm03
29.04.2021, 10:24
Есть такая функция:
function request(p,b,a) {
var m = document.getElementById(b),
d = new XMLHttpRequest;
d.open("POST", p, !0);
d.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
d.addEventListener("readystatechange", function () {
4 === d.readyState && 200 === d.status && (m.innerHTML = d.responseText);
for (var scripts = m.getElementsByTagName("script"), i = 0; i < scripts.length; i++) {
eval(scripts[i].innerText);
}
page_listeners();
});
d.send(a);
}
Она загружает нужную страничку в нужный блок. Потом подключает оттуда js и вызывает установочную функцию с той страницы page_listeners().
Естественно, пока страничка не подгружена, эта функция отсутствует. Поэтому при загрузке базовой страницы интерпретатор выдаёт в консоль ошибку. К счастью, не блокируя при этом js и после подгрузки странички всё работает как надо. Но ведь это сейчас. Фик знает, как там дальше браузеры будут развиваться. Хотелось бы эту ошибку убрать.
Можно что-то придумать?

SuperZen
29.04.2021, 14:22
eval ;) - взоржнул

https://webpack.js.org/guides/
https://webpack.js.org/guides/lazy-loading/
https://webpack.js.org/guides/code-splitting/

или
https://jakearchibald.com/2017/es-modules-in-browsers/

или
https://developer.mozilla.org/en-US/docs/Web/Web_Components

или MVVM ченить типа react, vue, angular и т.д.

Aetae
29.04.2021, 21:27
function request(p,b,a) {
var m = document.getElementById(b),
d = new XMLHttpRequest;
d.open("POST", p, !0);
d.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
d.addEventListener("readystatechange", function () {
if(4 === d.readyState && 200 === d.status) {
m.innerHTML = d.responseText;
for (var scripts = m.getElementsByTagName("script"), i = 0; i < scripts.length; i++) {
eval(scripts[i].innerText);
}
page_listeners();
}
});
d.send(a);
}

eval ;) - взоржнул
Ну а чо, такое себе инкапсулирование.))

Storm03
30.04.2021, 09:28
eval - взоржнул
ченить типа react, vue, angular и т.д.
Очень смешно.
""Наши люди в булошную на такси не ездят. (С)