2008-12-10 29 views
10

Có cách nào để vượt qua những điều sau IE bật lên hộp:Bypass IE "Trang web mà bạn đang xem ..." bật lên

Các webapge bạn đang xem đang cố gắng để đóng cửa sổ. Bạn có muốn đóng cửa sổ này không? Có | No

Điều này xảy ra khi tôi thêm window.close() vào sự kiện onclick của điều khiển nút asp.net.

Trả lời

10

Mã JavaScript của bạn chỉ có thể đóng một cửa sổ mà không có xác nhận trước đây đã được mở bởi window.open(). Đây là một biện pháp phòng ngừa an toàn có chủ ý vì một tập lệnh chạy trên một trang web không sở hữu cửa sổ và bằng cách đóng tập lệnh đó sẽ hủy lịch sử duyệt web trong cửa sổ đó.

Cách giải quyết là có "trang chào mừng" hoặc một số loại trang bật lên cửa sổ bạn muốn đóng bằng window.open ở vị trí đầu tiên hoặc để cho người dùng sửa đổi cài đặt bảo mật trình duyệt của họ để cho phép ứng dụng của bạn đóng cửa sổ của chúng.

+0

Trang web được tạo bởi người dùng nhấp vào liên kết trong e-mail do ứng dụng gửi. –

+1

Bạn có thể thử tạo liên kết như Click me. Nhưng tôi nghi ngờ rằng nhiều ứng dụng thư khách sẽ chạy JavaScript. Thật không may, tôi nghĩ bạn có thể không may mắn. – Tmdean

+0

Bạn nói đúng, tôi không may mắn. Tôi đã phải thực hiện một giải pháp khác. –

7

Có một hack cho việc này.

cho IE gọi:

window.open('close.html', '_self'); 

sau đó trong close.html tất cả các bạn cần là:

<script>window.close();</script> 

Vì đây về cơ bản sẽ mở ra một cửa sổ bật lên, trong cửa sổ có tên tương tự, khi "mới' cửa sổ mở ra, nó có một "công cụ mở" và do đó được phép đóng.

+0

Tôi có thêm lệnh gọi window.open vào sự kiện onClick của thẻ neo hay không. Xem nhận xét của Tmdean trong câu trả lời 1? –

+0

Tôi đã thử giải pháp của bạn nhưng nó sẽ không hoạt động trong môi trường của chúng tôi vì javascript đã bị tắt trong ứng dụng e-mail của chúng tôi. Cảm ơn cho đầu vào. –

+0

Bí quyết tuyệt vời! Đã làm cho tôi. – redolent

20

Trong cửa sổ bật lên được mở sau

var objWin = window.self; 
objWin.open('','_self',''); 
objWin.close(); 
+0

Điều này làm việc trên mạng nội bộ của tôi một cách hoàn hảo. – NetMage

+0

Cảm ơn bạn, tôi đã tìm kiếm trong thời gian dài trước đây ... – TMMDev

+0

Cảm ơn ... Nó đã làm việc cho tôi, nơi tôi đã nhận được pop-up này trong IE9. –

Các vấn đề liên quan