Могу ли я смешать VBScript и JScript в одном HTA?
-
09-06-2019 - |
Вопрос
Можно ли использовать как JScript, так и VBScript в одном HTA?Могу ли я вызывать функции VBScript из JScript и наоборот?Есть ли какие-либо "подводные камни", например, JScript, запущенный первым, и VBScript, запущенный вторым (классические страницы ASP имеют эту проблему).
Решение
Да, просто разделите их на разные теги скрипта:
<script language="javascript">
// javascript code
</script>
<script language="vbscript">
' vbscript code
</script>
Редактировать:И, да, вы можете выполнять перекрестный вызов между Javascript и VBScript без дополнительной работы.
Редактировать:Это также верно для ЛЮБОЙ технологии создания сценариев Windows.Он работает в файлах WSF и может включать скрипты, написанные на любом поддерживаемом языке ActiveScript, таком как Perl, при условии, что движок установлен.
Редактировать:Конкретная "ошибка" всего JScript, выполняемого первым, а затем VBScript, связана с тем, как ASP обрабатывает скрипты.У хоста MSHTA (который использует движок IE) этой проблемы нет.Однако я не очень разбираюсь в HTAS, поэтому не могу рассмотреть какие-либо другие возможные "подводные камни".
Другие советы
Также вы можете давать ссылки между ними.Например:в фоновом режиме некоторые функции на vbscript обрабатывают проблемы с базой данных и FSO и позволяют javascript создавать пользовательские интерфейсы, диалоговые окна и т.д.с ДОМОМ на передовой.Всякий раз, когда вам нужно, вы можете вызвать обе функции с каждой стороны скрипта.В js вы можете вызывать функцию vbs, а также в vbscript вы можете вызывать функции js.Затем вы можете использовать их возвраты там, где вы их вызываете.С уважением
Обработчики событий (например, Onclick) должны иметь код с префиксом "javascript:" или "vbscript:".