【问题标题】:How to redirect after download in Chrome在 Chrome 中下载后如何重定向
【发布时间】:2014-12-04 18:29:27
【问题描述】:

使用下面的代码,我正在尝试更改浏览器页面。

$pdf->Output($pdf_file_name, 'D');   //Downloading PDF

header("Refresh: 3; url='http://example.com/search-form/'");

问题:它在 FireFox 中工作,但在 Chrome 和 IE 中不工作。

我需要在 Chrome/IE 中工作。

【问题讨论】:

    标签: javascript php jquery refresh meta


    【解决方案1】:

    你需要在输出之前设置标题,所以反过来做:

    header("Refresh: 3; url='http://example.com/search-form/'");
    
    $pdf->Output($pdf_file_name, 'D');   //Downloading PDF
    

    为此,您的浏览器需要支持此标头“操作”。根据请求周期的 http 定义 - 一个请求 - 一个响应,这是一个丑陋的黑客,根本不可能(没有适当的客户端支持)。毕竟,发送额外的标头以在响应之外启动另一个请求需要客户端支持。 - 毕竟我不想依赖那个解决方案。

    可靠的解决方案是首先访问您要重定向到的操作,在渲染视图中放置一个不可见的 iframe,并将该源指向您的下载操作,以便在操作渲染后立即启动。

    您可以进行更多复杂的设置,包括 javascript 等,以及更多重定向到中间的不同操作,但这很简单。

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2018-02-21
      • 2013-11-04
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多