背景:我们的生产环境在客户端和服务器端运行(旧版)vbscript。所以我们仍然在使用IE8。我们正在考虑将客户端PC升级到IE11。我们发现的一个问题是我们的文件下载显示在浏览器中不再有效。点击屏幕上的“test.xlsx”,然后调用执行以下操作的vbscript:
...
(read blob from database which can be pdf, xls, etc.)
....
If Not objRec.BOF And Not objRec.EOF Then
lngSize = objRec("document").ActualSize
objBlob = objRec("document").GetChunk(lngSize)
Response.ContentType = "application/download"
Response.AddHeader "Content-disposition","attachment; filename=""" + objRec("file_name") + """"
Response.BinaryWrite objBlob
...
我们收到提示:
“你想从dev.ourintranet.com打开或保存download_asp?id = 1616吗?”
带有“打开”,“保存”和“取消”选项。
单击“打开”不执行任何操作。 单击“保存”打开目录常用对话框,但点击“保存”不执行任 Clicknig取消不做任何事。
为什么它不再适用于IE11?非常感谢!
答案 0 :(得分:0)
客户端VBScript不再适用于IE11 edge mode:
从Internet Explorer 11开始,VBScript被视为已弃用,不应再用作IE11的脚本语言。在IE11模式下显示的网页不会执行VBScript代码。
由于IE11模式不再支持VBScript,因此以下API功能不再适用于网页:
The execScript function.
The VBArray object.
The "text/vbs" and "text/vbscript" MIME types (as supported type values for script elements).
更新当前依赖VBSscript使用JavaScript的任何页面。如果这不可行,请尝试使用Visual Basic编写的应用程序替换网页。
出于兼容性原因,VBScript确实执行旧版文档模式(IE10标准模式及更早版本),但是,这应该被视为临时解决方案。