Показать сообщение отдельно
  #12 (permalink)  
Старый 21.01.2020, 16:30
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Manyasha, не следует использовать этот элемент не по назначению. Используйте вместо этого <iframe>.

vaisan, hyvää päivää!. Вам следует вставить элемент на страницу и выполнить скрипты
function XHR(filename) {
	fetch(filename).then(function (response) {
		return response.text();
	}).then(function(code) {
		var document = new DOMParser().parseFromString(code, "text/html");
		return document.documentElement;
	}).then(function(documentElement) {
		var ds = document.getElementById("divSource");
		ds.textContent = "";
		ds.appendChild(documentElement);
		Array.from(documentElement.querySelectorAll("script"))
			.forEach(function(script) {
				setTimeout(eval, 0, script.textContent);
			});
	});
};


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

Вам следует пересмотреть подход — например, с сервера загружать чистые данные (к примеру, массив с данными) и отрисовывать их на клиенте. Тогда у вас скрипт, который управляет приложением будет загружаться только один раз, и вы сможете иметь состояние приложения.

Последний раз редактировалось Malleys, 21.01.2020 в 16:40.
Ответить с цитированием