javascript - IE8 - window.open() - "No such interface supported"

标签 javascript internet-explorer-8

当我从 JavaScript 调用 window.open() 时,我收到带有消息“行:xxx 错误:不支持此类接口(interface)”的错误对话框

Google 将我引导至早在 IE4 时就提到我需要在多个 DLL 上运行 regsrvr32 的网站。

有没有更好的解决方案?

编辑:请求的确切代码

<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>

编辑2: 提供的答案都可以追溯到 IE4/Win95 时代。我是说,认真的??无论如何,我在 IE8 中禁用了平滑滚动(!!!)并且还尝试注册 Shoban 提到的知识库文章中列出的控件,但在尝试注册 shdocvw.dll 时遇到错误(模块“shdocvw.dll”已加载但找不到入口点 DllRegisterServer。请确保“shdocvw.dll”是有效的 DLL 或 OCX 文件,然后重试。)

最佳答案

首先,尝试以下操作,看看问题是否消失:

选项 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"

来源:

关于javascript - IE8 - window.open() - "No such interface supported",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/935614/

相关文章:

css - Bootstrap 输入按钮在 IE8 中换行

javascript - IE8、jQuery UI 工具提示在 Internet Explorer 8 中立即关闭

jquery - 带有链接的 CSS 悬停效果在 IE8 中不起作用

css - 有没有人让 IE8 读取编码为 base64 数据 URI 的 DHTML 行为?

internet-explorer - Raphaeljs 在 IE 中将所有文本呈现为斜体

javascript - 从 Azure IotHub/EventHub 获取 deviceId

javascript - 数据表:过滤后禁用列大小调整

javascript - HTML 表单提交(POST req)到服务器应返回动态 HTML

javascript - Djangojs 应用程序的翻译错误 Django

javascript - 移相器 : Set object variable