0
我在制作一个网站。在一个地方有一个执行Ajax回调的按钮,然后尝试通过window.open()
下载文件。预期的行为是让新窗口短暂闪烁,然后出现文件下载。这在IE9上运行正常,但IE8似乎有问题,即使弹出窗口阻止程序被禁用。Internet Explorer 8拒绝从弹出窗口下载文件
经过进一步的实验,我发现了另一个奇特的行为。如果我手动输入下载的URL到新打开的选项卡的地址栏中,我会收到一条错误消息。关于不能下载的通用东西。如果我现在尝试刷新页面(或者只是在地址栏中按Enter键,从而重复相同的请求),则下载过程会很好地进行。
我预料它可能与content-disposition
或cache-control
标题有关,但删除这些没有帮助。也没有将URL添加到“可信站点”区域。
因为我不喜欢弹出窗口(这不是我自己制作的),所以我会尝试用window.location
重新制作它,但我对此行为感到困惑。是什么导致了它?
我不完全确定我们在这里的同一页。你如何通过AJAX获取文件?我的意思是当AJAX请求完成时,我在其Success事件中打开一个弹出窗口。无论如何,需要AJAX请求来生成URL。 –
@Vilx - 好吧,我明白了。 1.你为aspx设置了Response.Charset =“”;'如果没有.NET,'content-type:'的值是什么? 2.您是否通过简单显示“alert”来验证成功回调? 3.请尝试使用'Fiddler'或类似的东西来查看HTTP错误代码。另外,请告诉我们,如果这是使用NTLM身份验证。 –