【问题标题】:Close browser popup page after downloading file下载文件后关闭浏览器弹出页面
【发布时间】:2011-01-06 07:38:55
【问题描述】:

当用户点击超链接时,我会打开一个下载文件的弹出窗口。下载后,显示打开/保存对话框。我想在下载完成后关闭弹出窗口(当提示用户保存文件时)。 我试过 window.close 方法,但它不起作用,因为上下文不是弹出窗口而是打开/保存对话框。

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    我认为您无法以编程方式控制它。这是特定于浏览器的事情,某些浏览器允许您勾选复选框以关闭窗口等。

    【讨论】:

    • 是的。一些用户喜欢保留那个窗口,例如。这样他们就可以在下载后从中运行“运行”;他们喜欢它,你不应该试图干涉它(不是你可以)。其他不喜欢这种行为的人都会取消勾选框以使其消失。
    【解决方案2】:

    你可以做一件事:

    在“文件编写代码在你的servlet或struts action中使用”之后

    第一步:调用“response.flushBuffer();” 第二步:调用 response.sendRedirect("close.htm")

    close.htm 在哪里:

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

    唯一的问题是确定下载是否完成。我不认为有一种可能的方式来做到这一点。无论如何,在下载完成之前保持弹出窗口打开有什么用。启动下载后,您只需关闭弹出窗口即可。使用下面的 JavaScript,不是吗?

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

    【讨论】:

      【解决方案3】:

      浏览器习惯于自行决定是尝试下载文件还是在浏览器窗口中打开文件,具体取决于所使用的浏览器、插件和服务器设置。听起来您可能会在新窗口中打开链接,就好像浏览器要打开文件而不是下载文件一样,然后浏览器选择了下载。这会给用户留下一个下载的文件和一个您无法控制的空白窗口。

      要强制下载,您应该能够将链接目标的 Content-Type 标头设置为 application/force-download。您如何执行此操作取决于您的设置,以及文件是直接下载(在这种情况下它将是服务器设置)还是通过 PHP 或 .Net(在这种情况下很容易以编程方式设置标头)。还要确保超链接没有在新窗口中打开链接的target="_blank" 属性。

      【讨论】:

      • 谢谢卡尔。问题不是下载文件而是下载后关闭弹出窗口。
      • 使用正确的 Content-Type 标头,并且没有 target="_blank"(或 window.open),那么弹出窗口甚至不应该首先打开。
      • 我想打开弹出窗口并在该窗口中显示自定义消息。但是一旦下载完成,我希望该窗口关闭。
      • 我认为你会不走运 - 我不相信有可能检测到下载何时完成。请注意,保存文件的提示不是下载完成的时间点,而是下载开始的时间点。如果您想在用户单击链接后立即关闭弹出窗口,则有多种方法,但放置 onclick="setTimeout(function(){window.close();},1" (确保关闭发生在href 被触发,而不是之前)可能会这样做。
      • 感谢您的回复,但下载可能需要我无法定义的时间。我尝试注册脚本以关闭窗口,但它不会在下载后被触发但是如果我删除下载文件的逻辑它会触发
      【解决方案4】:

      它是浏览器功能,您可以为此更改浏览器设置。你不应该去编程。默认情况下,如果您将在 Firefox 中下载文件,它会要求保存,但在 crome 中它不会询问。 您需要更改浏览器的设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-27
        • 1970-01-01
        • 1970-01-01
        • 2014-02-08
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多