疑问1:是用定时器,x秒后打开一个链接?
疑问2:图片是如何实现,立即下载而不是被浏览器直接打开了
疑问1:是的,这个页面的js会在几秒后调用下载文件的接口,一般用setTimeout来实现几秒后调用某个方法。
疑问2:没看懂。
图片下载不能直接用链接,在后台读取图片再输出,并设置Response.ContentType = "application/octet-stream";就不会被直接打开
关于疑问1,我的意思和楼上一样
关于疑问2,你的意思是下载图片的时候,有时候浏览器会打开图片而不是下载图片,是么?
浏览器点击图片默认就是打开的,如果避免打开,那就要改变电脑的一个设置。具体怎么设置,如果你准备这么做,那咱再讨论。
另外一种就是图片做成压缩包的样子,就不会直接打开了
再一种就是在图片上点击另存为……
不知道有没有解答你的疑问?
http://a.fsdn.com/con/js/min/sf.dwnld.js?1351545125
应该是这个js文件在起作用,当然还有这段代码:
<script type="text/javascript">
SF.downloadDelay = 5000;
SF.downloadRedirectDelay = 60000;
SF.ios = false;
</script>
第一个很容易, 最简单的, settimeout, 改location或者弄一个iframe改location试试(这个我没试过, 应该没问题)。
第二个, 改图片的mime type, 让他不是图片, 而是二进制文件就可以了。
下载前Thread.sleep(3000);//3秒
实现很简单,首先是下载文件的链接地址需要通过服务端控制,按二楼的哥们说的那样就行Response.ContentType = "application/octet-stream"; 确保浏览器不会直接打开图片。然后加以下代码就能搞定这个问题:
$(function() { var interval=3000;//这里设置你想Delay的时间 setTimeout(function() { window.open("你的图片文件的下载地址"); },interval); }