我尝试了可用的拖放下载示例,但问题是它在Chrome中运行得非常好但是当您尝试将文件拖放到本地计算机上并打算使用IE下载时,它只下载文件的快捷链接。
任何人都有解决问题的办法?请分享......
我尝试使用以下链接中的代码。 http://www.thecssninja.com/javascript/gmail-dragout
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-GB">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="author" content="The CSS Ninja">
<meta name="keywords" content="Drag and drop, HTML5, DownloadURL, setData, dataTransfer">
<meta name="description" content="How to create reverse drag and drop functionality like Gmail in Chrome 5 and upwards">
<meta name="robots" content="all">
<meta name="copyright" content="The CSS Ninja">
<link rel="stylesheet" type="text/css" href="_styles.css" media="screen">
<title>Drag a file from a website to your filesystem like Gmail does | The CSS Ninja</title>
</head>
<body>
<div class="container">
<h1>Drag out any of these links to your dekstop</h1>
<a href="Eadui.ttf" id="dragout" class="dragme" draggable="true" data-downloadurl="application/octet-stream:Eadui2.ttf:http://thecssninja.come/demo/gmail_dragout/Eadui.ttf">Font file</a>
<a href="Eadui.ttf" id="dragout2" class="dragme" draggable="true" data-downloadurl="application/pdf:HTML5CheatSheet.pdf:http://thecssninja.come/demo/gmail_dragout/html5-cheat-sheet.pdf">PDF file</a>
</div>
<script type="text/javascript">
var files = [document.getElementById("dragout"),document.getElementById("dragout2"),document.getElementById("dragout3")],
fileDetails = [];
// Some forward thinking, utilise the custom data attribute to extend attributes available.
if(typeof files[0].dataset === "undefined") {
// Grab it the old way
fileDetails[0] = files[0].getAttribute("data-downloadurl");
fileDetails[1] = files[1].getAttribute("data-downloadurl");
} else {
fileDetails[0] = files[0].dataset.downloadurl;
fileDetails[1] = files[1].dataset.downloadurl;
}
files[0].addEventListener("dragstart",function(evt){
evt.dataTransfer.setData("DownloadURL",fileDetails[0]);
},false);
files[1].addEventListener("dragstart",function(evt){
evt.dataTransfer.setData("DownloadURL",fileDetails[1]);
},false);
</script>
</body>
</html>
&#13;
答案 0 :(得分:-1)
您的代码在Chrome,FF,Opera,Safari和Microsoft Edge中运行良好。
为什么要使用Microsoft no longer supports的旧版浏览器?
我的建议是因为不再支持您的用户使用supported browser。