Разобрать строку HTML в документ в JScript ES3 - PullRequest
0 голосов
/ 11 февраля 2019

Поскольку JScript является «вне браузера», вариантом Javascript для Microsoft ES3, сложно сделать что-то простое, например, проанализировать строку HTML в объекте.

Как уже упоминалось, JScript находится не в браузере, поэтому он не имеет стандартного типа документа и не имеет domparser.

Я могу сделать объект документа следующим образом:

 var document = new ActiveXObject('htmlfile')
 document.innerHTML = http.responseText

, и хотя при этом будет получен html-ответ в документ, я не могу использовать getElementsByClassName, TagName или даже ID - это именно то, чтоМне нужно сделать ответы на html, которые я просматриваю (сочетание упомянутых выше).

Я пытался использовать «чистый анализатор HTML javascript» Джона Резига, но он не будет работать в ES3 иЯ не достаточно разбираюсь в JScript / ES3, чтобы понять, почему нет.

https://johnresig.com/blog/pure-javascript-html-parser/

В конечном счете, я хочу проанализировать HTML-файл в объекте документа и иметь возможность извлекать элементы с помощьюих класс, идентификатор, тэг и т. д. Для меня это звучит так, как будто это должно быть легко, но это не так.

Любая помощь будет признательна.

1 Ответ

0 голосов
/ 11 февраля 2019

getElementById и getElementsByTagName вроде бы работают:

var document = new ActiveXObject('htmlfile');
document.open();
document.write('<html><div id="div1" class="class1">test</div></html>');
document.close();

WScript.Echo(document.getElementById("div1").id);

WScript.Echo(document.getElementsByTagName("div")[0].id);

WScript.Echo(document.getElementsByTagName("div")[0].className);

test output

...