<iframe src= "file.pdf" >现在正在下载而不是显示



截至今天早上,我们有少数用户在我们非常旧的网站上经历了行为的变化。

我们的HTML看起来像这样:

<iframe id="I1" style="HEIGHT: 495px" name="I1" marginWidth="0" 
        marginHeight="0" frameBorder="no"
        width="100%" height="500"></iframe>

和看起来像这样的JavaScript:

document.getElementById('I1').src = Request.QueryString("p").Item(1);

该代码是用看起来像这样的URL启动的:

https://example.com/DisplayPDF.aspx?p=../Images/TMP_1234.pdf&l=673&ver=3.1.1.33

该代码的目的是在iframe中显示.pdf文件。

它已经有多年了。

今天早上对于某些用户,它正在弹出"查看下载"。对话并要求保存或打开文件。一个人可以保存或打开,但是这种行为的变化使我们技术上不那么精通的用户感到困惑。

显而易见的嫌疑人是Windows/浏览器更新;系统管理员告诉我他备份了更新。

对我而言,如果它是由更新引起的,我需要为那些将更新且没有能力支持的用户找到解决方案。

我在浏览器中以F12模式运行以查看任何问题。没有什么不寻常的。该网站在Chrome中工作正常。

这是我们看到的行为:

  1. Chrome-始终在浏览器弹出窗口中迅速打开。
  2. IE 11 -HTML弹出窗口打开,但它保持空白。"查看下载"窗口打开我可以查看.pdf。
  3. 的地方
  4. IE 11 -HTML弹出窗口打开并保持空白。没有"查看下载"Windows打开。
  5. IE 11 -HTML弹出窗口打开,并花费很多时间用.pdf文件填充。

我将其发布在堆栈上,因为我希望有一个代码解决方案,以在所有浏览器上进行此项工作。我猜我得到了倾销,因为这可能被视为不适合堆栈。

有相同的问题, geert-jan 的评论将PDF的响应标头设置为

Content-Disposition:inline

真的修复了它。

最新更新