相信大家从网络上都能搜索得到这个技巧,这里只是记录一下自己的编程经验而已。
当我们做下载功能时,经常看到IE浏览器会弹出一个下载保存对话框。就我以前的经验,以为是使用弹出窗口,即window.open(url,name, options),的方法,但是在实践中发现背后的窗口无法隐藏掉,无论你是想移动到不可视区,还是想设置窗口的width和height为0,都不能达到想要的效果。于是从网络上找到了答案,即使用iframe元素。至于它是写到文件里,还是使用Javascript动态生成就看自己的需求啦。不过一定不要忘记将这个元素的样式设置为不可见的。
给个示例代码看看:
可以看出iframe元素并没有设置src属性,呵呵,这个属性值就是动态下载文件的Url地址。例如,你的下载文件的名称是Download.asp,当然其他语言编写的就使用自己的文件就行了。然后设置文档参数,可能类似这个形式,Download.asp?fid=jkldnmk,然后通过Javascript将这个地址赋给iframe的src属性。这样就解决了空白窗口的问题啦,哈哈。
给个示例代码吧: