Pop*_*lin 68 html javascript internet-explorer meta-tags
如何在Internet Explorer中初始化文件的自动下载?
例如,在下载页面中,我想要显示下载链接并显示一条消息:"如果下载没有自动启动......等等".下载应该在页面加载后不久开始.
在Firefox中这很容易,你只需要在标题中包含一个元标记,<meta http-equiv="Refresh" content="n;url">其中n是秒数,url是下载URL.这在Internet Explorer中不起作用.如何在Internet Explorer浏览器中使用此功能?
dev*_*vio 105
SourceForge使用具有指向要下载的文件<iframe>的src=""属性的元素.
<iframe width="1" height="1" frameborder="0" src="[File location]"></iframe>
Run Code Online (Sandbox Code Playgroud)
(副作用:没有重定向,没有JavaScript,原始URL保持不变.)
Kor*_*nel 51
我讨厌网站如此复杂下载并使用黑客而不是旧的链接.
<a href="file.zip">Start automatic download!</a>
Run Code Online (Sandbox Code Playgroud)
有用!在每个浏览器!
如果要下载通常以内联方式显示的文件(例如图像),则HTML5具有download强制下载文件的属性.它还允许您覆盖文件名(尽管有更好的方法):
<a href="report-generator.php" download="result.xls">Download</a>
Run Code Online (Sandbox Code Playgroud)
如果您想在下载后显示"谢谢",请使用:
<a href="file.zip"
onclick="if (event.button==0)
setTimeout(function(){document.body.innerHTML='thanks!'},500)">
Start automatic download!
</a>
Run Code Online (Sandbox Code Playgroud)
其中的功能setTimeout可能更高级,例如通过AJAX下载整页(但不要离开页面 - 不要触摸window.location或激活其他链接).
关键是下载链接是真实的,可以被下载加速器复制,拖动,拦截,获取:visited颜色,如果在浏览器重启后页面保持打开则不重新下载等.
ull*_*ark 23
我最近通过在页面上放置以下脚本来解决它.
setTimeout(function () { window.location = 'my download url'; }, 5000)
Run Code Online (Sandbox Code Playgroud)
我同意元刷新会更好但如果它不起作用你会做什么...
kik*_*ito 21
我遇到了类似的问题,上述解决方案都没有对我有用.这是我的尝试(需要jquery):
$(function() {
$('a[data-auto-download]').each(function(){
var $this = $(this);
setTimeout(function() {
window.location = $this.attr('href');
}, 2000);
});
});
Run Code Online (Sandbox Code Playgroud)
用法:只需添加一个名为data-auto-download链接的属性,指向有问题的下载:
<p>The download should start shortly. If it doesn't, click
<a data-auto-download href="/your/file/url">here</a>.</p>
Run Code Online (Sandbox Code Playgroud)
它应该适用于所有情况.
小智 7
一小段jQuery为我解决了这个问题.
$(function() {
$(window).bind('load', function() {
$("div.downloadProject").delay(1500).append('<iframe width="0" height="0" frameborder="0" src="[YOUR FILE SRC]"></iframe>');
});
});
Run Code Online (Sandbox Code Playgroud)
在我的HTML中,我只是
<div class="downloadProject"></div>
Run Code Online (Sandbox Code Playgroud)
所有这一切都是等待一秒半,然后使用iframe附加div,指向您要下载的文件.当iframe更新到页面上时,浏览器会下载该文件.就那么简单.:d
适用于Chrome,Firefox和IE8及以上版本:
var link = document.createElement('a');
document.body.appendChild(link);
link.href = url;
link.click();
Run Code Online (Sandbox Code Playgroud)
我用这个,似乎工作,只是简单的JS,没有框架:
Your file should start downloading in a few seconds.
If downloading doesn't start automatically
<a id="downloadLink" href="[link to your file]">click here to get your file</a>.
<script>
var downloadTimeout = setTimeout(function () {
window.location = document.getElementById('downloadLink').href;
}, 2000);
</script>
Run Code Online (Sandbox Code Playgroud)
注意:这将在页面加载时启动超时.
这是我在一些网站上使用的(需要jQuery):
$(document).ready(function() {
var downloadUrl = "your_file_url";
setTimeout("window.location.assign('" + downloadUrl + "');", 1000);
});
Run Code Online (Sandbox Code Playgroud)
1秒后自动下载文件.