Запустите cmd из браузера - от JS - PullRequest
2 голосов
/ 18 ноября 2010

Я хочу открыть окно cmd со своей веб-страницы (HTML). Я использую JS, но что-то не так, потому что когда я нажимаю, функция не вызывается.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
<!--
function runCmd(command, option)
{
    var char34 = String.fromCharCode(34);
    var wsh = new ActiveXObject('WScript.Shell');
    if (wsh)
    {
        command = 'cmd /k ' + char34 + wsh.ExpandEnvironmentStrings(command) + ' ';
        command = command + char34 + wsh.ExpandEnvironmentStrings(option) + char34  + char34;
        if (confirm(command))
        {
            wsh.Run(command);
        }
    }
}
//-->
</script>
</head>

<body>

<input type="button" value="Run!" onclick="runCmd(‘notepad.exe’, ‘%programfiles%\file.txt’);" />
</body>
</html> 

EDIT: Я сохранил его как PHP, и теперь у меня есть ошибка в FF:

ActiveXObject is not defined
[Break on this error] var wsh = new ActiveXObject('WScript.Shell'); 

Спасибо!

Ответы [ 2 ]

9 голосов
/ 18 ноября 2010

В основном, вам придется отключить все функции безопасности в вашем браузере (для использования ActiveX должен быть выбран вариант Internet Explorer).

Подобные вещи не разрешены большинством браузеров. Вы можете себе представить, могут ли [случайные люди в Интернете] запускать на своем компьютере все, что они хотят, просто приглашая вас посетить веб-страницу?

0 голосов
/ 21 мая 2017

Согласно документам :

Этот объект является расширением Microsoft и поддерживается только в Internet Explorer ...

ActiveXObject можно использовать только внутри Internet Explorer и только с дополнительными разрешениями и несколькими предупреждающими сообщениями.Вы можете даже подумать, что, поскольку он подвергает клиентские компьютеры нескольким проблемам безопасности, он не поддерживается другими браузерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...