2012-04-19 72 views
2

在Dropbox的主页(http://www.dropbox.com)上,当用户点击下载按钮时,它会启动1)用户浏览器的正确安装程序 2)将它们重定向到相应的安装说明页面没有被主要浏览器标记为弹出窗口。Dropbox的登陆页面下载过程如何运作如此顺利?

我试图实现他们的方法与使用Javascript验证码:

<a href="http://downloadlink.exe"  onClick="window.open('http://InstallInstructionsURL.com');"> 

但各种浏览器阻止这一点,其标记为弹出。它只捕获问题的一部分(而不是将用户重定向到适当的浏览器并安装说明页)。

Dropbox的主页效果很好。但我很难搞清楚他们做了什么,以及如何自己做。

作为一名仍在开发桌面/浏览器下载应用程序的软件开发人员,我非常感谢您的帮助!

+0

[如何在Internet Explorer中启动文件的自动下载?](http://stackoverflow.com/questions/156686/how-to-start-automatic-download-of-a-file-in -IE浏览器) – Joseph 2012-04-19 05:34:54

回答

0

其实魔术是没有按钮,这只是正常的link,但该链接的页面确实有个小窍门,开始下载:

<div id="page-content"> 
    <script type="text/javascript"> 
    Event.observe(window, 'load', function() { 
    if (!Prototype.Browser.IE) { 
     window.location = '\x2fdownload\x3fplat\x3dwin'; 
    } 
    }); 
</script> 

这里负载事件监听器被注册为函数那变化window.location。 这是JavaScript重定向的常用方法(more details),但是就响应内容为application/octet-stream而言,当前页面没有任何事情发生,并显示标准保存窗口。