在Dropbox的主页(http://www.dropbox.com)上,当用户点击下载按钮时,它会启动1)用户浏览器的正确安装程序和 2)重定向它们到适当的安装说明页面,不用被主流浏览器标记为弹出窗口。
我尝试使用此代码使用Javascript实现他们的方法:
<a href="http://downloadlink.exe" onClick="window.open('http://InstallInstructionsURL.com');">
但是各种浏览器会阻止它并将其标记为弹出窗口。它只捕获问题的一部分(而不是将用户重定向到适当的浏览器并安装说明页面)。
Dropbox的主页效果很好。但是我很难搞清楚他们做了什么,以及如何自己做。
作为一名仍在为桌面/浏览器开发下载应用程序的软件开发人员,我真的很感激任何帮助!
答案 0 :(得分: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>
这里,load事件侦听器被注册为更改window.location
的函数。
这是javascript重定向(more details)的常用方法,但就响应内容application/octet-stream
而言,当前页面没有任何反应,并显示标准保存窗口。