Javascript <;iframe src=”的;pdf文件“&燃气轮机;现在下载而不是显示

Javascript <;iframe src=”的;pdf文件“&燃气轮机;现在下载而不是显示,javascript,html,Javascript,Html,截至今天早上,我们有一小部分用户在我们非常旧的网站上体验到行为的改变 我们的HTML如下所示: <iframe id="I1" style="HEIGHT: 495px" name="I1" marginWidth="0" marginHeight="0" frameBorder="no" width="100%" h

截至今天早上,我们有一小部分用户在我们非常旧的网站上体验到行为的改变

我们的HTML如下所示:

<iframe id="I1" style="HEIGHT: 495px" name="I1" marginWidth="0" 
        marginHeight="0" frameBorder="no"
        width="100%" height="500"></iframe>
document.getElementById('I1').src = Request.QueryString("p").Item(1);
https://example.com/DisplayPDF.aspx?p=../Images/TMP_1234.pdf&l=673&ver=3.1.1.33
该代码使用如下URL启动:

<iframe id="I1" style="HEIGHT: 495px" name="I1" marginWidth="0" 
        marginHeight="0" frameBorder="no"
        width="100%" height="500"></iframe>
document.getElementById('I1').src = Request.QueryString("p").Item(1);
https://example.com/DisplayPDF.aspx?p=../Images/TMP_1234.pdf&l=673&ver=3.1.1.33
该代码的目的是在iframe中显示.pdf文件

多年来一直如此

今天早上,一些用户会弹出“查看下载”对话框,要求保存或打开文件。用户可以保存或打开,但这种行为上的改变让技术水平较低的用户感到困惑

明显的嫌疑犯是windows/浏览器更新;系统管理员告诉我他备份了更新

对我来说,这是无关紧要的,如果它是由一个更新,我需要找出一个解决方案,为那些用户将更新,没有办法支持它

我用浏览器在F12模式下运行以查看任何问题。没有什么不寻常的。该网站在Chrome上运行良好

以下是我们看到的行为:

  • Chrome-在浏览器弹出窗口中快速打开
  • IE 11-HTML弹出窗口打开,但保持空白。“查看下载”窗口打开,我可以在其中查看.pdf
  • IE 11-HTML弹出窗口打开并保持空白。没有打开“查看下载”窗口
  • IE11-HTML弹出窗口打开,需要相当长的时间来填充.pdf文件

  • 我把这个贴在堆栈上,因为我希望有一个代码解决方案可以在所有浏览器上使用。我猜我得到了否决票,因为这可能被视为不适用于堆栈。

    也有同样的问题,并且将pdf的响应标题设置为

    Content-Disposition:inline
    

    真的修复了它。

    我认为这与浏览器的版本有关!我知道chrome在最近3个版本中对PDF查看器/下载做了一些事情:-/Add
    console.log(Request.QueryString(“p”).Item(1))
    并查看输出内容。当返回的pdf没有响应标头
    内容处置
    时,浏览器可能已更改其默认值。将pdf的响应标头显式设置为
    内容处置:内联
    可能会解决此问题。此外,请检查是否设置了响应标题
    Content-Type:application/pdf
    ,而不是不推荐的响应标题(可能是由于不支持浏览器更新)
    Content-Type:application/x-pdf
    您说过“某些用户”这只意味着一件事,这些用户在网络浏览器中没有pdf阅读器插件。@Geert Jan这听起来是个不错的猜测。在.js或.html文件中是否有这样做的方法?我问的原因是我可以控制这些。如果我更改服务器配置,我将不得不让其他人参与。