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

时间:2017-12-29 20:21:19

标签: javascript html

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

&#xA;&#xA;

我们的html看起来像这样:

&#xA;&#xA;
 &lt; iframe id =“I1”style =“HEIGHT:495px”name =“I1”marginWidth =“0”&#xA; marginHeight =“0”frameBorder =“no”&#xA; width =“100%”height =“500”&gt;&lt; / iframe&gt;&#xA;  
&#xA;&#xA;

和javascript看起来像这样:

&#xA;&#xA;
  document.getElementById('I1')。src = Request.QueryString(“p”)。Item(1);&#xA;  < / pre>&#xA;&#xA; 

使用如下所示的URL启动该代码:

&#xA;&#xA;
  https:// example。 ?COM / DisplayPDF.aspx p = .. /图像/ TMP_1234.pdf&安培; L = 673&安培;版本= 3.1.1.33&#XA;  
&#XA;&#XA;

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

&#xA;&#xA;

它已经这样工作了多年。

&#xA;&#xA;

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

&#xA;&#xA;

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

&#xA;&#xA;

对我而言,如果它是由更新引起的,我需要为那些用户找出解决方案是无关紧要的。更新,但没有办法支持它。

&#xA;&#xA;

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

&#xA;&#xA;

以下是我们看到的行为:

&#xA;&#xA;
    &#xA; < li> Chrome - 在浏览器弹出窗口中一直快速打开。&#xA;
  1. IE 11 - HTML弹出窗口打开但保持空白。将打开“查看下载”窗口,我可以在其中查看.pdf。
  2. &#xA;
  3. IE 11 - HTML弹出窗口打开并保持空白。没有“视图下载”windoes打开。
  4. &#xA;
  5. IE 11 - HTML弹出窗口打开并花费相当长的时间来填充.pdf文件。
  6. &#xA;
&#xA;&#xA;

我在堆栈上发布了这个,因为我希望有一个代码解决方案可以在所有浏览器上使用它。我猜我得到了downvote,因为这可能被视为不适合堆栈。

&#xA;

1 个答案:

答案 0 :(得分:-1)

遇到同样的问题,并且 geert-jan 的注释与将pdf的响应标头设置为

Content-Disposition:inline

真的修复了它。