【问题标题】:Possible way to add headers in a window.open request在 window.open 请求中添加标头的可能方法
【发布时间】:2018-02-03 03:59:26
【问题描述】:

这个答案here 说我在使用 window.open 时无法传递标题。虽然我找不到任何说明这一点的文件。

真的不能这样吗。是否有任何可能的黑客攻击?

我的客户端请求被发送到我无法控制的服务器。浏览器发送的打开 pdf (window.open) 的请求在该服务器上收到,但没有 auth 标头。因此,系统会提示用户输入用户名和密码。

有没有办法可以解决我的问题并能够从我的 Angular 应用程序中打开 pdf。我也想知道window.open在内部是如何工作的,因为我在网上找不到它?

提前致谢

【问题讨论】:

标签: javascript browser http-headers window request-headers


【解决方案1】:

我能够通过两次获取文件来解决问题,一次来自服务器,一次来自缓存。这需要响应中的 Cache-Control 标头。我正在使用 Angular、AdalJS 和 Web Api,但这可能适用于更广泛的领域。

我使用 $http 调用和由 AdalJS 添加的 auth 标头来安全地检索文件。此响应由浏览器缓存。完成后,我使用 window.open 打开缓存文件。

弹出窗口阻止可能是一个问题。如果您无法禁用阻止,请考虑在下载完成时显示第二个按钮以单击,并从中调用 window.open。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 2016-08-22
    相关资源
    最近更新 更多