使用EXTJS和JAVASCRIPT在新选项卡(FireFox和IE8)中打开pdf

使用EXTJS和JAVASCRIPT在新选项卡(FireFox和IE8)中打开pdf,javascript,pdf,extjs,extjs4,Javascript,Pdf,Extjs,Extjs4,我使用的是EXTJS,我有一个链接,用于打开PDF文件。 问题是pdf没有在navigator中打开,但是已经下载了! 我使用的代码如下(我在堆栈中找到了!) var win=window.open(url,“_blank”) win.focus() 我搞砸了什么?浏览器根据收到的HTTP头决定是打开文件还是在线显示(在新选项卡中) 要下载,服务器将发送以下标头: Content-Disposition: Attachment; filename="somefile.pdf" Content-

我使用的是EXTJS,我有一个链接,用于打开PDF文件。 问题是pdf没有在navigator中打开,但是已经下载了! 我使用的代码如下(我在堆栈中找到了!)

var win=window.open(url,“_blank”)

win.focus()


我搞砸了什么?

浏览器根据收到的HTTP头决定是打开文件还是在线显示(在新选项卡中)

要下载,服务器将发送以下标头:

Content-Disposition: Attachment; filename="somefile.pdf"
Content-Disposition: Inline
要显示内联,服务器将发送以下标头:

Content-Disposition: Attachment; filename="somefile.pdf"
Content-Disposition: Inline

我使用的示例代码:

{
xtype: 'button',
html: '<p class = "i-custom-right-menu-items-text">'+'Download Application 
       form'+'</p>',
cls: 'i-custom-right-menu-buttons',
width: '80%',
padding: '2 0 0 10',
iconCls: 'd-ball-modal-right-menu crtmenu',
handler: function () {
    window.open('./resources/MYPDF.pdf', '_blank');}
}
{
xtype:'按钮',
html:“

”+“下载应用程序” 格式“+”

“, cls:“i-custom-right-menu-buttons”, 宽度:“80%”, 填充:“2 0 0 10”, 图标包括:“d-ball-modal-right-menu-crtmenus”, 处理程序:函数(){ window.open('./resources/MYPDF.pdf','u blank');} }
IE8不附带PDF渲染器,因此它本身无法“在选项卡中渲染PDF”。如果您安装了Adobe Reader或其他PDF呈现程序,他们通常会在浏览器中添加插件来执行此操作。如果你没有插件,那么文件将被下载。有些人,包括我自己,实际上故意禁用内联模式。根据您的Firefox版本,您可能会遇到类似的问题。如何从服务器发送此信息?在我的例子中,我从服务器上重新运行的是文件名和路径!我不知道你使用哪种服务器语言。在我使用的PHP中,有函数
头(…)。我写了一个相反的例子——发送头来下载文件——但我认为您可以根据自己的需要调整它。就在这里:嗯。。我在我的第一个端口不是很清楚,事实上,我从服务器返回的是路径名,而pdf文件不在服务器中,事实上它在我计算机的一个目录中!所以我返回的是一个字符串la this:'D:/DATA/myPDFFile.pdf',然后它完全掌握在浏览器的手中,您在Ext或server中都无法对其进行任何操作。在这种情况下,浏览器设置可能适用。顺便说一句,远程服务器返回本地路径听起来很奇怪-服务器怎么知道文件在那里?实际上我犯了一个错误,事实上,你提出的解决方案对我来说很好。非常感谢^^