IE8 - window.open() - “No such interface supported

2019-03-20 11:46发布

When I call window.open() from JavaScript, I get the error dialog with the message "Line: xxx Error: No such interface supported"

Google leads me to websites referring as far back as IE4 saying that I need to run regsrvr32 on several DLLs.

Is there a better solution?

EDIT: exact code requested

<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: The provided answers all go back to IE4/Win95 days. I mean, seriously?? Regardless, I disabled Smooth scrolling in IE8 (!!!) and also attempted to register the controls listed in the kb article mentioned by Shoban, but got an error attempting to register shdocvw.dll (The module "shdocvw.dll" was loaded but the entry-point DllRegisterServer was not found. Make sure that "shdocvw.dll" is a valid DLL or OCX file and then try again.)

4条回答
别忘想泡老子
2楼-- · 2019-03-20 12:06

On Win10 x64 with IE11 this solved my problem:

    regsvr32 "C:\Windows\SysWOW64\ieproxy.dll"
查看更多
我想做一个坏孩纸
3楼-- · 2019-03-20 12:07

First of all, try just the following and see if the problem goes away:

OPTION 1

Step 1: Fix IE

Copy and paste the following in the command prompt running as an admin, then press :

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

If you are running 64 bit windows, try this:

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

OPTION 2

If the above doesn't work, try the following two steps.

Step 1: Re-register all DLLs

Open a command prompt as an admin. Type the following command:

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

You will probably get some error windows popping up at this point, just ignore them all and close them when the command prompt stops churning.

Step 2: Fix IE

Copy and paste the following in the command prompt running as an admin, then press :

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

If you are running 64 bit windows, try this:

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

Sources:

查看更多
劳资没心,怎么记你
4楼-- · 2019-03-20 12:10

Works fine with me in IE8. Seems like a Video adapter issue. Check this support page from MS too.

查看更多
戒情不戒烟
5楼-- · 2019-03-20 12:26

Check if there are any toolbar installed. I had the same problem and this caused because I run fiddler http debugging proxy

查看更多
登录 后发表回答