xmlhttprequest load speci c div от внешнего HTML - PullRequest
0 голосов
/ 13 января 2020

Я использую xhlhttprequest для загрузки внешнего файла html. Однако я пытаюсь выяснить, как загрузить из файла html только speicifi c DIV.

Моя внешняя страница helpFile.html - она ​​имеет десятки заголовков <DIV> с, каждый заголовок DIV - это специальный c раздел справки. На разных страницах я хочу иметь возможность загрузить определенный c раздел? Как я мог это сделать? Например, на странице dashboard.html есть значок справки ?, который, когда пользователь нажимает на нее, загружает только раздел helpFile.html#dashboard из основного файла справки. html страница - содержимое будет загружен в bootstrap модал.

Вот мой код для извлечения всей страницы, но как мне просто получить нужный раздел?

<script>
    var request;

    function sendInfo() {

        var url = "helpFile.html";

        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest();
        }     else if (window.ActiveXObject) {
            request = new ActiveXObject("Microsoft.XMLHTTP");
        }

        try {
            request.onreadystatechange = getInfo;
            request.open("GET", url, true);
            request.send();
        } catch (e) {
            alert("Unable to connect to server");
        }
    }

    function getInfo() {
        if (request.readyState == 4) {
            var val = request.responseText;
            document.getElementById('helpModal').innerHTML = val;
        }
    }
</script>

1 Ответ

0 голосов
/ 13 января 2020

Используйте DOMParser и найдите элемент

if (request.readyState == 4 && request.status == 200) {
  var parser = new DOMParser();
  var doc = parser.parseFromString(request.responseText;, "text/html");
  var dashboardElement = doc.querySelector("#dashboard");
  document.getElementById('helpModal').innerHTML = dashboardElement.innerHTML;
}
...