2010-01-18 31 views
5

Khi người dùng nhấp vào liên kết, tôi đang mở cửa sổ bật lên tải xuống tệp. Tải xuống bài đăng, nó hiển thị hộp thoại mở/lưu. Tôi muốn đóng cửa sổ bật lên sau khi tải xuống xong (khi người dùng được nhắc lưu tệp). Tôi đã thử phương pháp window.close, nhưng nó không hoạt động vì ngữ cảnh không phải là cửa sổ bật lên mà là hộp thoại mở/lưu.Đóng trang trình duyệt bật lên sau khi tải xuống tệp

Trả lời

5

Tôi nghĩ bạn không thể kiểm soát nó theo chương trình. Đây là điều cụ thể cho từng trình duyệt trong đó một số trình duyệt cho phép bạn đánh dấu vào hộp kiểm để đóng cửa sổ, v.v.

+0

Có. Một số người dùng muốn có cửa sổ đó xung quanh, ví dụ như. để họ có thể chạy ‘Chạy’ từ nó sau khi tải xuống; rằng họ thích nó như thế nào và bạn không nên can thiệp vào điều đó (không phải là bạn có thể). Những người khác không thích hành vi đó sẽ bỏ hộp để làm cho nó biến mất. – bobince

1

Trình duyệt có thói quen tự quyết định có nên tải xuống tệp hay mở tệp trong cửa sổ trình duyệt, tùy thuộc vào trình duyệt được sử dụng, plugin và cài đặt máy chủ. Có vẻ như bạn có thể đang mở liên kết trong một cửa sổ mới, như thể trình duyệt sẽ mở tệp thay vì tải xuống và sau đó trình duyệt đã chọn tải xuống. Điều này khiến người dùng có tệp được tải xuống và cửa sổ trống mà bạn không có quyền kiểm soát.

Để bắt buộc tải xuống, bạn sẽ có thể đặt tiêu đề Kiểu nội dung cho mục tiêu của liên kết đến ứng dụng/lực tải xuống. Làm thế nào bạn làm điều này sẽ phụ thuộc vào thiết lập của bạn, và cho dù tập tin được tải xuống trực tiếp (trong trường hợp đó nó sẽ là một thiết lập máy chủ) hoặc thông qua PHP hoặc .Net (trong trường hợp đó là dễ dàng để lập trình tiêu đề). Ngoài ra hãy đảm bảo rằng siêu liên kết không có thuộc tính target="_blank" mở liên kết trong cửa sổ mới.

+0

Cảm ơn Karl. Sự cố không tải xuống tệp nhưng đóng cửa sổ bật lên sau khi tải xuống. – Ankit

+1

Với tiêu đề Loại Nội dung chính xác và không có target = "_ blank" (hoặc window.open) thì cửa sổ bật lên thậm chí không được mở ở vị trí đầu tiên. –

+0

Tôi muốn mở cửa sổ bật lên và hiển thị thông báo tùy chỉnh trong cửa sổ đó. Nhưng khi tải xuống hoàn tất, tôi muốn cửa sổ đó đóng lại. – Ankit

2

bạn có thể làm một điều:

sau khi "tập viết code trong servlet hoặc thanh chống sử dụng hành động của bạn"

Bước 1: gọi là "response.flushBuffer();" Bước 2: gọi response.sendRedirect ("close.htm")

nơi close.htm là:

<html> 


<script> 


window.close(); 

</script> 

</html> 

Chỉ có vấn đề là xác định nếu tải về xong. Tôi không nghĩ rằng có một cách có thể làm điều đó. Dù sao thì có bất kỳ việc sử dụng nào để giữ cửa sổ bật lên mở cho đến khi quá trình tải xuống hoàn tất. Bạn có thể chỉ cần đóng cửa sổ bật lên sau khi quá trình tải xuống được bắt đầu. Sử dụng JavaScript bên dưới, phải không?

pop_up= window.open("", "PopUpName"); 
pop_up.document.write('POPUP TEXT');  
pop_up.close(); 
0

Chức năng trình duyệt, Bạn có thể thay đổi cài đặt trình duyệt cho điều đó. Bạn không nên đi lập trình. Theo mặc định Nếu bạn sẽ tải về tập tin trong firefox nó yêu cầu tiết kiệm, nhưng trong Crome Nó không hỏi. Bạn cần thay đổi cài đặt trình duyệt của mình.

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