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

Mic*_*ter 5 html javascript

截至今天早上,我们的旧网站上有一些用户的行为发生了变化。

我们的 HTML 看起来像这样:

<iframe id="I1" style="HEIGHT: 495px" name="I1" marginWidth="0" 
        marginHeight="0" frameBorder="no"
        width="100%" height="500"></iframe>
Run Code Online (Sandbox Code Playgroud)

javascript 看起来像这样:

document.getElementById('I1').src = Request.QueryString("p").Item(1);
Run Code Online (Sandbox Code Playgroud)

该代码通过如下 URL 启动:

https://example.com/DisplayPDF.aspx?p=../Images/TMP_1234.pdf&l=673&ver=3.1.1.33
Run Code Online (Sandbox Code Playgroud)

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

多年来一直如此。

今天早上,一些用户会弹出“查看下载”对话框,并要求保存或打开文件。人们可以“保存”或“打开”,但这种行为变化让我们技术不太精通的用户感到困惑。

明显的嫌疑是 Windows/浏览器更新;系统管理员告诉我他取消了更新。

对我来说,如果它是由更新引起的,那是无关紧要的,我需要为那些将要更新但没有办法取消更新的用户找出解决方案。

我使用浏览器以 F12 模式运行以查看是否存在任何问题。没有什么异常。该网站在 Chrome 中运行良好。

以下是我们看到的行为:

  1. Chrome - 在浏览器弹出窗口中始终快速打开。
  2. IE 11 - HTML 弹出窗口打开,但保持空白。将打开“查看下载”窗口,我可以在其中查看 .pdf 文件。
  3. IE 11 - HTML 弹出窗口打开并保持空白。不会打开“查看下载”窗口。
  4. IE 11 - HTML 弹出窗口打开,需要相当长的时间才能填充 .pdf 文件。

我将其发布在堆栈上,因为我希望有一个代码解决方案可以使其在所有浏览器上工作。我猜我投了反对票,因为这可能被视为不适合堆栈。

G. *_*rov -1

有同样的问题和geert-jan的评论,将 pdf 的响应标头设置为

Content-Disposition:inline
Run Code Online (Sandbox Code Playgroud)

真的修好了。