IE8 - window.open() - такой интерфейс не поддерживается

Когда я вызываю window.open() из JavaScript, я получаю диалоговое окно с сообщением об ошибке «Строка: ошибка xxx: такой интерфейс не поддерживается»

Google приводит меня к веб-сайтам, ссылающимся еще на IE4, где говорится, что мне нужно запустить regsrvr32 для нескольких DLL.

Есть ли лучшее решение?

РЕДАКТИРОВАТЬ: запрошен точный код

<html><head>
<script type="text/javascript">
function windowOpen() {
    window.open("http://localhost/mysite/mypage.asp", "myWindowName", "");
}
</script></head>
<body>
<button onclick="windowOpen();return false;">Hi There</button>
</body></html>

EDIT2: все предоставленные ответы восходят к дням IE4/Win95. В смысле серьезно?? Несмотря на это, я отключил плавную прокрутку в IE8 (!!!), а также попытался зарегистрировать элементы управления, перечисленные в статье kb, упомянутой Shoban, но получил ошибку при попытке зарегистрировать shdocvw.dll (модуль «shdocvw.dll» был загружен, но точка входа DllRegisterServer не найдена. Убедитесь, что «shdocvw.dll» является допустимым файлом DLL или OCX, и повторите попытку.)


person Chloraphil    schedule 01.06.2009    source источник
comment
Можете ли вы показать точную строку, которая дает вам эту ошибку?   -  person viam0Zah    schedule 01.06.2009


Ответы (3)


Прежде всего, попробуйте следующее и посмотрите, исчезнет ли проблема:

ВАРИАНТ 1

Шаг 1. Исправьте IE

Скопируйте и вставьте следующее в командную строку, работающую от имени администратора, затем нажмите :

"%systemroot%\system32\regsvr32.exe" "C:\Program Files\Internet Explorer\ieproxy.dll"

Если вы используете 64-битную версию Windows, попробуйте следующее:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files> (x86)\Internet Explorer\ieproxy.dll"

ВАРИАНТ 2

Если описанное выше не работает, попробуйте выполнить следующие два шага.

Шаг 1. Перерегистрируйте все библиотеки DLL

Откройте командную строку от имени администратора. Введите следующую команду:

FOR /R C:\ %G IN (*.dll) DO "%systemroot%\system32\regsvr32.exe" /s "%G"

На этом этапе вы, вероятно, увидите всплывающие окна с ошибками, просто проигнорируйте их все и закройте их, когда командная строка перестанет работать.

Шаг 2. Исправьте IE

Скопируйте и вставьте следующее в командную строку, работающую от имени администратора, затем нажмите :

"%systemroot%\system32\regsvr32.exe" "C:\Program Files\Internet Explorer\ieproxy.dll"

Если вы используете 64-битную версию Windows, попробуйте следующее:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files> (x86)\Internet Explorer\ieproxy.dll"

Источники:

person Sam Shiles    schedule 14.02.2013
comment
Сегодня столкнулся с этой проблемой, Вариант 1 - очень многообещающее решение. Спасибо, что поделились, несмотря на возраст этого вопроса! - person Maximillian; 26.03.2014

Проверьте, установлены ли какие-либо панели инструментов. У меня была такая же проблема, и это вызвано тем, что я запускаю прокси-сервер отладки fiddler http

person johnf23    schedule 25.11.2009
comment
Возможно, вы захотите уточнить свой ответ для дальнейшего использования. Благодарю вас! - person Shrey Gupta; 06.01.2013

На Win10 x64 с IE11 это решило мою проблему:

    regsvr32 "C:\Windows\SysWOW64\ieproxy.dll"
person Kovacs Stefan    schedule 18.10.2016