Javascript <;iframe src=”的;pdf文件“&燃气轮机;现在下载而不是显示
截至今天早上,我们有一小部分用户在我们非常旧的网站上体验到行为的改变 我们的HTML如下所示: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
<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上运行良好
以下是我们看到的行为:
我把这个贴在堆栈上,因为我希望有一个代码解决方案可以在所有浏览器上使用。我猜我得到了否决票,因为这可能被视为不适用于堆栈。也有同样的问题,并且将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文件中是否有这样做的方法?我问的原因是我可以控制这些。如果我更改服务器配置,我将不得不让其他人参与。