2009-06-01 31 views
7

Khi tôi gọi window.open() từ JavaScript, tôi nhận được hộp thoại báo lỗi với thông báo "Dòng: xxx Lỗi: Không có giao diện như vậy được hỗ trợ"IE8 - window.open() - "Không có giao diện nào được hỗ trợ"

Google dẫn tôi đến các trang web đề cập đến như xa trở lại như IE4 nói rằng tôi cần phải chạy regsrvr32 trên một số DLL.

Có giải pháp nào tốt hơn không?

EDIT: mã chính xác yêu cầu

<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: Những câu trả lời cung cấp tất cả quay trở lại ngày IE4/Win95. Ý tôi là, nghiêm túc à ?? Bất kể, tôi vô hiệu hóa Smooth cuộn trong IE8 (!!!) và cũng cố gắng đăng ký các điều khiển được liệt kê trong bài viết kb đề cập bởi Shoban, nhưng có một lỗi cố gắng đăng ký shdocvw.dll (Các mô-đun "shdocvw.dll" đã được tải nhưng DllRegisterServer không được tìm thấy Hãy đảm bảo rằng "shdocvw.dll" là tệp DLL hoặc OCX hợp lệ và sau đó thử lại.)

+1

Bạn có thể hiển thị chính xác dòng cung cấp cho bạn lỗi này? –

+1

Hoạt động tốt cho tôi trong IE8 (?) – Shoban

Trả lời

4

Vâng, tôi không nghĩ rằng có giải pháp tốt hơn. Tìm kiếm cửa sổ "Không có giao diện được hỗ trợ" như vậy.open cho tôi hàng trăm nghìn kết quả pointing to the same problem. Tất cả đều nói rằng vấn đề là một mục đăng ký bị hỏng, do đó, vấn đề là cục bộ và cùng một mã sẽ không ảnh hưởng đến các máy khác.

0

Kiểm tra xem có bất kỳ thanh công cụ nào được cài đặt hay không. Tôi đã cùng một vấn đề và điều này gây ra bởi vì tôi chạy cáy http gỡ lỗi Proxy

+0

Bạn có thể muốn xây dựng dựa trên phản hồi của bạn, để tham khảo trong tương lai. Cảm ơn bạn! –

4

Trước hết, hãy thử chỉ sau và xem nếu vấn đề đi xa:

OPTION 1

Bước 1 : Fix IE

Sao chép và dán sau tại dấu nhắc lệnh chạy như một quản trị viên, sau đó nhấn:

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

Nếu bạn đang chạy Windows 64 bit, hãy thử này:

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

OPTION 2

Nếu ở trên không hoạt động, hãy thử hai bước sau đây.

Bước 1: Tái đăng ký tất cả các file DLL

Mở một dấu nhắc lệnh như một quản trị viên. Nhập lệnh sau:

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

Có thể bạn sẽ nhận được một số cửa sổ lỗi xuất hiện tại thời điểm này, chỉ cần bỏ qua tất cả và đóng khi cửa sổ nhắc ngừng.

Bước 2: Fix IE

Sao chép và dán sau tại dấu nhắc lệnh chạy như một quản trị viên, sau đó nhấn:

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

Nếu bạn đang chạy Windows 64 bit, hãy thử điều này:

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

Nguồn:

+0

Đã giải quyết vấn đề này ngay hôm nay, Tùy chọn 1 là một giải pháp rất hứa hẹn. Cảm ơn bạn đã chia sẻ mặc dù tuổi tuyệt đối của câu hỏi này! – Maximillian

+0

Tùy chọn 1 đã hoạt động. Tại chỗ trên!!! – user1176058

0

On Win10 x64 với IE11 này giải quyết vấn đề của tôi:

regsvr32 "C:\Windows\SysWOW64\ieproxy.dll" 
Các vấn đề liên quan