Задать вопрос
@Nulltiton

Можно ли использовать синтаксис HTML и JScript в приложении HTA?

<head>
        <title>Application</title>
    </head>
    <body scroll="no">
        <p>Type text</p>
        <input type="text" id="testText1" placeholder="Count"><br>
        <input type="text" id="testText2" placeholder="Count"><br>
        <input type="button" id="testButton" onClick="testButton()" value="Test">
    </body>
    <script>
        function testButton()
        {
            var WshShell = WScript.CreateObject("WScript.Shell");
            WSH.Echo("test");
            var a = document.getElementById("testText1").value;
            var b = document.getElementById("testText2").value;
            var c = Number(a) + Number(b);
            alert(c);
        }
    </script>
</html>


Данный код создает форму, представленную на первом рисунке, однако если попытаться использовать WScript.CreateObject("WScript.Shell"), то появляется ошибка, представленная на втором рисунке. Почему такое происходит, разве нельзя использовать JScript вместе с HTML или для этого нужны какие-то обходные пути?
62ac56bbf0dba569772281.png62ac56c39e00e407081390.png
  • Вопрос задан
  • 133 просмотра
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
wisgest
@wisgest
Не ИТ-специалист
Можно ли использовать синтаксис HTML и JScript в приложении HTA?

Безусловно можно по определению. Только WScript — не встроенный объект самого языка, его доступность зависит от среды в которой используется язык.
Должно работать
var WshShell = new ActiveXObject("WScript.Shell");
(это должно работать и в WSH).
Насколько помню, объект WshShell можно создать и в HTML с помощью тега <object/> с соответствующим аттрибутом classid (его значение можно поискать в системном реестре).

Возможно, вам чем-то поможет тема «HTA: не найден объект Wscript» (скорее всего, она не единственная по вопросу на том форуме)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FunFlow Москва
от 80 000 до 120 000 ₽
DigitalHR Ереван
от 120 000 до 180 000 ₽