Привет всем!
В клиентском JavaScript на HTML-странице создаю объект
var WshShell = new ActiveXObject("WScript.Shell");
Этот объект я использую для того, чтобы лазить по реестру на машине клиента (WshShell.RegRead) — так я проверяю наличие нужных ActiveX-компонент на машине клиента. Так вот — открываю страницу из IE7. Если эту страницу класть на localhost и открывать с адреса http://localhost..., то она отлично открывается и объект ActiveXObject("WScript.Shell") отлично создается, а если положить ее на другую машину в нашей сети, и с ее адреса попытаться открыть, то IE показывает ошибку "Automation server can't create object". Кто мне подскажет, что мне с этим делать и как сделать так, чтобы страница нормально открывалась отовсюду? Или, может, кто-нибудь подскажет, как прочесть реестр из клиентского JavaScript каким-то другим способом?
Re: Проблема с ActiveXObject("WScript.Shell"), IE7
ЕМНИП такое невозможно из соображений безопасности. Представь что бы творилось, если бы каждый вася пупкин смог бы к примеру копаться в реестре твоего компа при открытии тобой его страницы.
Здравствуйте, Sheridan, Вы писали:
S>ЕМНИП такое невозможно из соображений безопасности. Представь что бы творилось, если бы каждый вася пупкин смог бы к примеру копаться в реестре твоего компа при открытии тобой его страницы.
А как тогда мне проверить наличие некоего ActiveX-компонента в системе?
Re[3]: Проблема с ActiveXObject("WScript.Shell"), IE7
Здравствуйте, XJess, Вы писали:
XJ>А как тогда мне проверить наличие некоего ActiveX-компонента в системе?
Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.
Re[4]: Что за код ошибки выдается при попытке создания Activ
Здравствуйте, Centaur, Вы писали:
C>Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.
Когда я пытаюсь создать этот компонент, мне выдается ошибка 80040112 — CLASS_E_NOTLICENSED, когда компонент установлен в системе и даже спокойно используется на web-странице. Собственно, из-за этого я и пошла через реестр. Было бы здорово, если бы кто-нибудь мне сказал, что с этим кодом ошибки делать.
Re[5]: Что за код ошибки выдается при попытке создания Activ
Здравствуйте, XJess, Вы писали:
XJ>Здравствуйте, Centaur, Вы писали:
C>>Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.
XJ>Когда я пытаюсь создать этот компонент, мне выдается ошибка 80040112 — CLASS_E_NOTLICENSED, когда компонент установлен в системе и даже спокойно используется на web-странице. Собственно, из-за этого я и пошла через реестр. Было бы здорово, если бы кто-нибудь мне сказал, что с этим кодом ошибки делать.
Эммм..... а как он может "спокойно используется на web-странице", если он "выдается ошибка 80040112 — CLASS_E_NOTLICENSED"?...
Re[6]: Как подпихнуть лицензию при создании объекта ActiveXO
Здравствуйте, ssmaslov, Вы писали:
S>Эммм..... а как он может "спокойно используется на web-странице", если он "выдается ошибка 80040112 — CLASS_E_NOTLICENSED"?...
Тааак... Я поняла, кажется, что к чему...
На странице он используется в таге <object>, а лицензия задается чем-то вроде такого:
А я пытаюсь создать объект в коде с помощью вызова
ActiveXObject("X.Y.1");
Так вот, именно этот вызов возвращает мне такую ошибку. А вот как подпихнуть эту лицензию этому вызову, я пока не знаю . Если кто-то знает, то скажите..
Re[7]: Как подпихнуть лицензию при создании объекта ActiveXO
Здравствуйте, XJess, Вы писали:
XJ>Так вот, именно этот вызов возвращает мне такую ошибку. А вот как подпихнуть эту лицензию этому вызову, я пока не знаю . Если кто-то знает, то скажите..