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

2019-03-20 12:08发布

问题:

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

回答1:

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:

  • http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/99e4ab4f-165d-4691-90dd-ab41a05d26a2

  • http://forums.techguy.org/all-other-software/568737-solved-internet-explorer-wont-start.html



回答2:

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



回答3:

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



回答4:

On Win10 x64 with IE11 this solved my problem:

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