Mar*_*tör 3 html javascript ajax download
在回答其他问题时,有人指出SourceForge的下载页面通过添加隐藏的<iframe>来工作.这似乎不再是这种情况......
如何实现下载页面的当前版本?我想构建类似的东西,因为我认为SF的解决方案非常优雅.
好吧,更准确地说......真的,最初的"问题"太模糊了.
如果你去http://sourceforge.net/projects/beankeeper/files/beankeeper/2.6.2/beankeeper-2.6.2.tar.gz/download那里有一个普通的HTML链接来下载有问题的文件,但也有自动下载.延迟似乎是2s左右.
有人问我的具体用例.我会回答,知道它可能会在一定程度上偏离OP.非常简化:
如果我采用SF的模型,表单提交将触发调度程序Servlet并重新加载当前页面(常规行为).重新加载页面后,我会以某种方式 - 对,SF如何做到这一点? - 使浏览器调用文档Servlet.
只需在页面加载期间更改窗口位置.
这是一个SSCCE,只是复制'n'paste'n'run它.
<!doctype html>
<html lang="en">
<head>
<title>SO question 2222034</title>
<script>
window.onload = function() {
setTimeout(function() {
window.location = 'http://download.java.net/maven/1/jstl/jars/jstl-1.2.jar';
}, 2000); // It's "cool" to let user wait 2 more seconds :/
}
</script>
</head>
<body>
<p>The download of jstl-1.2.jar will start shortly...</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
或者如果您需要使用POST,只需提交一个隐藏的表单:
<!doctype html>
<html lang="en">
<head>
<title>SO question 2222034</title>
<script>
window.onload = function() {
setTimeout(function() {
document.getElementById('downloadform').submit()
}, 2000); // It's "cool" to let user wait 2 more seconds :/
}
</script>
</head>
<body>
<p>The download of jstl-1.2.jar will start shortly...</p>
<form id="downloadform" action="http://download.java.net/maven/1/jstl/jars/jstl-1.2.jar"></form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2254 次 |
| 最近记录: |