Если функция определена в VBScript, ее можно выполнить из JavaScript, как если бы это была любая другая глобально доступная функция.Оба скриптовых языка имеют глобальные переменные и функции.Раньше я использовал функцию, чтобы получить доступ к MsgBox из своего кода JavaScript, используя следующее:
<script type="text/vbscript">
Function vbsMsgBox (prompt, buttons, title)
vbsMsgBox = MsgBox(prompt, buttons, title)
End Function
</script>
<script type="text/javascript">
vbsMsgBox("This is a test", 16, "Test");
</script>
Порядок включения важен при смешивании этих сценариев.Если первый скрипт на вашей странице - vbscript, он становится обработчиком сценариев по умолчанию для обработчиков событий.Если первым является javascript, это будет по умолчанию.Предоставление vbscript:
или javascript:
является распространенным заблуждением - в JavaScript строка, за которой следует двоеточие, обозначает метку , обычно сопряженную с циклами и операторами break / continue.В VBScript это просто вызвало бы ошибку.Эта путаница связана с методом запуска сценария из URL, например, в href элемента <a>
:
<a href="javascript:doSomething(); void(0);">do something</a>
В вашем примере кода предполагается, что closer
- глобальная переменная, а затем обработчик событиядолжно выглядеть следующим образом:
<a href="#" onclick="CloseExplorerWindow(closer)">close</a>
Кроме того, взгляните на эту статью MSDN об использовании JScript и VBScript на одной странице .