У меня есть страница HTML + JS, которая вызывающую элемент управления ActiveX с помощью следующего кодаIE Разрешения, необходимые для элементов управления ActiveX
<object id="somecomp" type="application/x-somecomps-associated-mime-type">
</object>
Существует Javascript, который вызывает метод на ActiveX, используя следующий код
var myObj = document.getElementById('somecomp');
ret = myObj.somemethod(strInput);
Если хосту эту страницу на моем локальном рабочем столе c:\something\my.html
, & открыть эту страницу на IE9, я получаю предупреждение
Internet Explorer restricted this webpage from running scripts
or ActiveX controls
Существует также кнопка, которая сообщает [ Allow Blocked content]
. Если я нажму на эту кнопку, актив будет работать нормально.
Однако, если я размещаю эту страницу на удаленном сервере IIS и открываю страницу как http://some_ip_address/my.html
, тогда я не получаю это предупреждение вообще &, элемент управления не инициализируется. (myObj
не равно нулю - но когда somemethod
называется, IE падает)
Если я ставлю http://ipaddress
в моих доверенных сайтов, то я не получаю предупреждение и ActiveX работает отлично.
Теперь мне нужно, чтобы эта работа работала, даже если сайт находится в зоне Интернета (т. Е. Не в доверенных сайтах). В IE9 существует множество параметров безопасности, связанных с ActiveX. Есть ли простой способ выяснить, какой именно мне нужно настроить, а не пытаться его по одному.
Изменение запрещенных разрешений на приглашение не помогло. Мне пришлось отключить защищенный режим, чтобы он работал. Я могу сделать что-то более зернистое. – user93353
Не могли бы вы больше узнать о самом контроле? Вы пытались создать его как «новый ActiveXObject (progId)»? – Noseratio