在同一浏览器的新选项卡中阅读PDF文件

时间:2014-02-03 10:04:25

标签: javascript python django pdf pdf-generation

在HTML表格中,我显示的是包含pdf文件的数据列表。所有pdf文件名都是超链接。当用户点击该超链接时,pdf应该在新选项卡中打开。基本上单击超链接我调用一个JS函数,它调用一个方法到服务器端。在服务器端脚本中,我编写了以下代码。

wrapper = FileWrapper(file(file_name))
response = HttpResponse(wrapper, mimetype='application/pdf; charset=utf-8')
response['Content-Disposition'] = 'inline; filename=' + file
response['Content-Length'] = os.path.getsize(file_name)
return response

此代码工作正常,单击文件打开的链接,但我想在新选项卡中打开它而不是相同的选项卡。我已经使用 target = _blank 进行了检查,但没有运气。我们有什么方法可以通过内容 - “选项”或任何其他解决方案来完成。

我使用 Django 作为我的服务器端脚本。

2 个答案:

答案 0 :(得分:4)

您可以从JavaScript中打开一个新的标签/窗口,然后在其中加载结果:

function openPDF(url){
   var w=window.open(url, '_blank');
   w.focus();
}


<div onclick="openPDF('pdf/1.pdf');">PDF 1</div>
<div onclick="openPDF('pdf/2.pdf');">PDF 2</div>

答案 1 :(得分:0)

您还可以在链接上添加课程,而不是使用内联事件。

在jQuery中看起来像这样:

$('a.extLink').click(function(){
    window.open(this.href);
    return false;
});
相关问题