Здравствуйте, Михaил, Вы писали:
М>Привет
М>Пишу простенькую онлайн читалку для файлов epub на JS.
М>Задача такая:
М>есть набор корректных .xhtml файлов (главы), и нужно их отобразить внутри одной html страницы, друг за другом, чтобы получилась цельная книга, сделать это хочу локально. То есть, хотелось бы чтобы браузер сделал это сам, с помощью JS, не привлекая сервер. По сути требуется во-первых объединить все xhtml в один, а во-вторых как-то отрендерить их в, например, div.
М>Как такое можно сделать?
М>div.innerHtml не работает с xhtml, так как неправильно парсит xhtml элементы.
Может
DOMParser? типа так
Promise.all([fetch('a.xhtml'), fetch('b.xhtml'), fetch('c.xhtml')])
.then(response => Promise.all(response.map(r => r.text())))
.then(texts => document.getElementById('output').innerHTML = texts.map(r => new DOMParser().parseFromString(r, 'text/xml').body.innerHTML).join())