【问题标题】:How do I programatically force Chrome to show PDF file in a new tab?如何以编程方式强制 Chrome 在新选项卡中显示 PDF 文件?
【发布时间】:2011-10-31 15:43:32
【问题描述】:

我知道可以手动执行此操作(单击 PDF 链接时按住 Ctrl 键)。

但我需要这样的解决方案:

--当用户点击生成 PDF 的链接时,Chrome 将在浏览器中显示 PDF 在新标签页中

-- 覆盖该行为并显示下载对话框。

有什么想法吗?

更多信息:

在我的页面上,有一个提交用于生成 PDF 的表单。使用anchorjquery submit 的组合提交表单。

然后将 PDF 返回到浏览器 - 在 FF 上我会看到下载对话框,但在 Cr 上我会在同一个选项卡中加载 PDF。

//form elements

<a id="submit" target="_blank" href="http://example.com/#">download pdf</a>


<script>

$('#submit').click(function(e) {

    e.preventDefault();

    $('#lost_form').submit();

});

</script>

【问题讨论】:

  • 嗨,我有不同的问题-->“我如何下载 pdf 文件而不是在 chrome 浏览器中打开它们”>>目前 Chrome 提供了自己的查看器,我不允许关闭 chrome 查看器,因为我不能要求每个用户关闭 chrome 查看器。有没有更多的选择?
  • 抱歉在这里提问,我被阻止提问这就是我在这里提问的原因......希望有人能提供帮助

标签: javascript google-chrome pdf download tabs


【解决方案1】:

在 PDF 的链接中,使用target="_blank",如下所示:

<a href="//path/to/document.pdf" target="_blank">PDF link text</a>

如果您想下载 PDF 而不是在浏览器中打开,您需要将 Content-Disposition HTTP response header 设置为类似

Content-Disposition: attachment; filename=document.pdf

【讨论】:

  • thx @matt ball -- 我刚刚添加了更多信息 -- target="_blank" 单独不起作用,PDF 仍然在同一个选项卡上打开
  • 既然您要提交表单,请将target 属性放在form 元素上。不过,从语义上讲,您应该坚持使用&lt;input type="submit"/&gt; 来提交表单。
【解决方案2】:

onclick打开一个新窗口,您的PDF路径在这个url中

http://docs.google.com/gview?url=<?php echo $pdffilefath;?>&embedded=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多