Запустите hide cmd.exe с веб-сайта (используя JavaScript или VBScript) - PullRequest
0 голосов
/ 02 сентября 2018

Почему следующий пример не работает? Кроме того, я хотел бы скрыть окно функции cmd.exe в createEmptyFile(). Браузеры, вероятно, не должны блокировать этот код:

<!doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Default Page Title</title>

</head>

<body>
    <script type="text/javascript" language="javascript"> 
      function pingItjs(ipAddress) {
          var oShell = new ActiveXObject("wscript.shell"); 
          oShell.Run("cmd.exe /k ping" + ipAddress); 
      }

      function createEmptyFile() {
          var oShell = new ActiveXObject("wscript.shell"); 
          oShell.Run("cmd.exe /c cd %tmp% && echo hello > EmptyFile"); 
      }
    </script>

<script language="VBScript">
function pingIt(ipAddress)
      set WshShell = CreateObject("WScript.Shell")
      WshShell.Run("cmd.exe /k ping " & ipAddress)
end function
</script>


    <a href="javascript:pingItjs('216.58.215.78')">ping</a>


    <div onclick="call pingIt('216.58.215.78')">ping</div>

    <a href="javascript:createEmptyFile()">ping</a>
</body>
</html>

1 Ответ

0 голосов
/ 02 сентября 2018

ActiveX

Состояния MDN :

Примечание . Создание объекта ActiveXObject на удаленном сервере не поддерживается в стандартном режиме Internet Explorer 9, стандартном режиме Internet Explorer 10, стандартном режиме Internet Explorer 11 и приложениях Магазина Windows или более поздних версиях.

Итак, если скрипт не запускается на вашем локальном компьютере, код не будет работать. Похоже, что это может быть несколько растянуто в случае интранета, где MDN говорит :

Важно : объекты ActiveX могут представлять проблемы безопасности. Чтобы использовать ActiveXObject, вам может потребоваться настроить параметры безопасности в Internet Explorer для соответствующей зоны безопасности. Например, для зоны локальной интрасети обычно требуется изменить пользовательский параметр на «Инициализировать и создавать элементы управления ActiveX сценариев, не помеченные как безопасные для сценариев».

VBScript

VBScript является проприетарным языком Microsoft и поэтому работает только в IE. Смотрите это Ответ . Эта ссылка (из только что упомянутого Ответа) гласит, что VBScript устарел в IE 11 и не будет работать в IE 11 в пограничном режиме.

Возможно, это поможет вам работать с VBScript в IE 11 даже в режиме совместимости с Edge,

<meta http-equiv="x-ua-compatible" content="IE=10">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...