IE8 - window.open() - “不支持这样的接口”

时间:2009-06-01 16:33:55

标签: javascript internet-explorer-8

当我从JavaScript调用window.open()时,我收到错误对话框,其中显示消息“Line:xxx Error:No such interface supported”

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>

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

4 个答案:

答案 0 :(得分:4)

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

选项1

第1步:修复IE

在以管理员身份运行的命令提示符中复制并粘贴以下内容,然后按:

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

如果您正在运行64位窗口,请尝试以下操作:

"%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位窗口,请尝试以下操作:

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

来源:

答案 1 :(得分:0)

在IE8中与我合作。好像是Video adapter issue。也可以从MS查看此support page

答案 2 :(得分:0)

检查是否安装了任何工具栏。我遇到了同样的问题,这是因为我运行了fiddler http debugging proxy

答案 3 :(得分:0)

在带有IE11的Win10 x64上,这解决了我的问题:

    regsvr32 "C:\Windows\SysWOW64\ieproxy.dll"