【问题标题】:How to change browser title while providing file download如何在提供文件下载的同时更改浏览器标题
【发布时间】:2016-06-21 04:24:43
【问题描述】:

我正在尝试将浏览器的标题动态设置为 PDF 文档标题。但标题当前显示为文档的 URL。

我提供的 PDF 下载如下:

response.setDateHeader("Expires", 0L);
response.setHeader("Content-disposition", "inline;filename=" + title + ".pdf");
response.setContentType("application/pdf");
response.setContentLength(bArray.length);
response.getOutputStream().write(bArray);

如何在浏览器中设置标题?

【问题讨论】:

  • 我只能在 iFrame 中看到这种情况。您不能从非 html 页面更改文档的标题
  • 正在下载文件,正在更改网页标题。它们是两个不同的东西。在前一种情况下,您严重依赖浏览器,因为它可以在新选项卡中打开它或独立于您想要的内容下载文件。从技术上讲,在 chrome 中打开的 pdf 文档并不比 Excel 或 Calculator 更多。
  • 有没有办法在刷新响应后调用一些 jquery 来更改文档标题
  • 您可以发送两个请求。一方面,您打开一个新窗口,其中包含 servlet 的 URL 以下载文件。另一方面,您将 ajax 请求发送到具有不同参数的同一个 servlet,并且您的 servlet(而不是下载文件)返回可用于更改标题的信息。您必须发出两个请求的原因是您不能使用 ajax 下载文件。如果它们必须同步,您可以在 javascript 中使用 Promise 以确保在下载开始之前标题不会更改。
  • 我怎样才能同时发送2个请求..你能提供一些想法或代码sn-p吗?我当前的代码是..

标签: javascript pdf servlets download title


【解决方案1】:

您无法更改显示响应 pdf 文件的 html 页面的标题。浏览器将根据您从服务器返回的 pdf 的元数据自动设置标题。

因此,更改 pdf 预览浏览器标题的简单步骤是正确设置 pdf 文件的元数据。

你可以从“文件->属性->标题”找到你的pdf元数据

浏览器仅显示此信息中的标题。

【讨论】:

    猜你喜欢
    • 2021-05-05
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2011-06-16
    • 2017-05-15
    • 1970-01-01
    • 2013-11-25
    相关资源
    最近更新 更多