Я предполагаю, что при загрузке движка Chakra он загружает невидимый экземпляр IE. Но согласно этой таблице совместимости MDN не существует версии Internet Explorer, которая поддерживает responseURL
.
edit: не использовать JScript
После многочисленных испытаний, пытаясь загрузить движок Edge's Chakra в Windows Script Host, я не получаю никакой перестановки, которая работает. Создание htmlfile
COM-объекта и форсирование совместимости с использованием x-ua-compatible
, попытки сделать то же самое с приложением HTA (как исходно, так и снова с htmlfile
COM-объектом), попытка создать объект MSXML2.ServerXMLHTTP.6.0
, без взлома Windows Script Host Я могу себе представить, что предоставит свойство .responseURL
объекта XMLHttpRequest.
Лучше всего выбрать другой язык. В PowerShell вы можете сделать что-то вроде этого:
$req = [Net.WebRequest]::Create("https://youtu.be/")
$resp = $req.GetResponse()
$resp.ResponseURI.AbsoluteURI
... что будет печатать
https://www.youtube.com/?feature=youtu.be
А если вам нужен эквивалент .responseText
, просто добавьте следующее:
$reader = new-object System.IO.StreamReader $resp.GetResponseStream()
$responseText = $reader.ReadToEnd()
Если вы хотите проанализировать $ responseText с использованием методов DOM ...
$htmlfile = new-object -COM htmlfile
$htmlfile.IHTMLDocument2_writeln($responseText)
$buttons = $htmlfile.getElementsByTagName("button")
Вы можете увидеть оригинальную версию этого ответа для примера того, что не работает.