Rohit-7 Ответов: 3

как запустить оконное приложение(.exe) с веб-страницы с поддержкой кросс-браузера


До сих пор это достижимо в internet explorer (IE) с помощью следующего кода,

function OpenExe()
 {

var cmdShell = new ActiveXObject("WScript.Shell");
var myPath = "\"D:\\New Folder\\myExe.exe\""    //or any other file!

cmdShell.Run(myPath , 1, true);    //setting 1 will launch the exe in normal settings i.e. actual size of window over the web page. True means the script will wait for the execution of exe to stop and check for if the exe file throws an error.

 }

<input type="button" id="btn1"  önclick="OpenExe()" />


при нажатии на кнопку он запускает данный exe-файл из пути, который я предоставил

Этот скрипт использует ActiveXObject и WScript, которые поддерживаются только IE. мне трудно найти подходящее решение, чтобы я мог запустить его и из других браузеров. я знаю, что javascript имеет некоторые ограничения безопасности, но возможно ли это в firefox/chrome или safari также запустить оконное приложение с веб-страницы?

Заранее спасибо!

Sergey Alexandrovich Kryukov

Почему? почему?!
--СА

pgksunilkumar

спасибо но это не работает

3 Ответов

Рейтинг:
28

OriginalGriff

Вероятно, нет - IE и ActiveX являются почти единственным решением для этого, и даже это вряд ли сработает в реальном мире - слишком много мошеннических элементов управления ActiveX означает, что поддержка их даже в IE обычно отключена.

Шансы на то, что вы заставите это работать вообще вне корпоративной среды, где использование определенного элемента управления ActiveX может быть санкционировано, очень малы, но это единственное место, где IE также может быть санкционирован.

Вне этого нет никакой гарантии, что требуемый exe - файл вообще существует-браузеры работают на Mac, Linux, Android, 3DS и даже на холодильниках с поддержкой intenet, поэтому шансы на то, что ваше "решение" будет работать при любых обстоятельствах, ничтожны.

Подумайте о том, чего вы пытаетесь достичь вместо этого - вероятно, есть лучший способ достичь этого.


Rohit-7

благодарю вас за ответ, сэр, я уже высказал свое мнение по этому поводу.

я не делаю этого, как предлагалось, и должен закрыть это прямо здесь, так как это может больше не потребоваться для кросс-браузеров (я буду рекомендовать это дальше).

Рейтинг:
13

Sergey Alexandrovich Kryukov

Все это действительно плохая идея. Если бы это было возможно, это был бы большой недостаток безопасности. На самом деле это действительно возможно с ActiveXObject и IE, но это говорит нам только об одном: использование ActiveXObject с IE тоже плохая идея.

В худшем случае он может быть использован локально или ограничен какой-то корпоративной Интрасетью, где системное администрирование может убедиться, что все используют IE требуемой версии. Однако я бы никогда не рекомендовал делать даже это. Такая практика действительно существует, но только в довольно паршивых компаниях.

Не делай зла. Если вы объясните свои конечные цели всей этой деятельности, у вас может появиться шанс получить несколько полезных советов.

—СА


Rohit-7

сэр, я понял, что вы думаете по этому поводу, и согласен, что это неправильный способ делать вещи по очевидной причине. даже я думал так же, как это потрясло бы ядро вашего приложения с недостатками безопасности, но я делал это потому, что это было необходимо (потребности клиента). теперь я могу найти другой путь и предложить им другие варианты. Спасибо вам!

Sergey Alexandrovich Kryukov

Добро пожаловать.

Требования могут быть проблемой. Одной из самых сложных частей такого рода работы являются переговоры о требованиях и убеждение клиентов изменить их. Очевидно, что многие клиенты на самом деле не знают, что им нужно или интересно, но многие делают вид, что знают; но та же проблема и с разработчиками. Итак, работа по таким "требованиям" означает риск вообще ничего не развивать.

Отрицательный результат - это тоже результат. Это гораздо лучше, чем длительное заблуждение.

Итак, если вы согласны, что это разумно, пожалуйста, подумайте о том, чтобы принять этот ответ формально (зеленая кнопка) - спасибо.
--СА

Рейтинг:
0

Member 9717073

Вы можете сделать это с помощью механизма обработчика протокола Windows. Проверьте приведенную ниже ссылку StackOverflow:
windows - Как запустить приложение из браузера? - переполнение стека[^]


Dave Kreskowiak

Нет, ты не можешь. Вы не можете запустить произвольный исполняемый файл с веб - страницы, обслуживаемой с удаленного сервера. Такая вещь была бы огромным риском для безопасности.

И это вопрос шестилетней давности.