截至今天早上,我们有少数用户在我们非常旧的网站上经历了行为的变化。
我们的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中工作正常。
这是我们看到的行为:
- Chrome-始终在浏览器弹出窗口中迅速打开。
- IE 11 -HTML弹出窗口打开,但它保持空白。"查看下载"窗口打开我可以查看.pdf。 的地方
- IE 11 -HTML弹出窗口打开并保持空白。没有"查看下载"Windows打开。
- IE 11 -HTML弹出窗口打开,并花费很多时间用.pdf文件填充。
我将其发布在堆栈上,因为我希望有一个代码解决方案,以在所有浏览器上进行此项工作。我猜我得到了倾销,因为这可能被视为不适合堆栈。
有相同的问题, geert-jan 的评论将PDF的响应标头设置为
Content-Disposition:inline
真的修复了它。