2016-04-27 77 views
1

我试过可用拖放下载样本,但问题是它在Chrome中完美的罚款,但是当你试图拖放文件到本地机器的意图使用IE下载,它只下载到文件的快捷链接。拖拖放下载支持IE浏览器的Javascript/jQuery/Html5

任何人都有解决问题的办法?请分享...

我试着在下面的链接中使用代码。 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> 
 
\t <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
 
\t <meta name="author" content="The CSS Ninja"> 
 
\t <meta name="keywords" content="Drag and drop, HTML5, DownloadURL, setData, dataTransfer"> 
 
\t <meta name="description" content="How to create reverse drag and drop functionality like Gmail in Chrome 5 and upwards"> 
 
\t <meta name="robots" content="all"> 
 
\t <meta name="copyright" content="The CSS Ninja"> 
 
\t 
 
\t <link rel="stylesheet" type="text/css" href="_styles.css" media="screen"> 
 
\t 
 
\t <title>Drag a file from a website to your filesystem like Gmail does | The CSS Ninja</title> 
 

 
</head> 
 
<body> 
 
\t 
 
\t <div class="container"> 
 
\t \t <h1>Drag out any of these links to your dekstop</h1> 
 
\t \t 
 
\t \t <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> 
 
\t \t 
 
\t \t <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> 
 
\t </div> 
 
\t 
 
\t <script type="text/javascript"> 
 
\t \t var files = [document.getElementById("dragout"),document.getElementById("dragout2"),document.getElementById("dragout3")], 
 
\t \t \t fileDetails = []; 
 
\t \t 
 
\t \t // Some forward thinking, utilise the custom data attribute to extend attributes available. 
 
\t \t if(typeof files[0].dataset === "undefined") { 
 
\t \t \t // Grab it the old way 
 
\t \t \t fileDetails[0] = files[0].getAttribute("data-downloadurl"); 
 
\t \t \t fileDetails[1] = files[1].getAttribute("data-downloadurl"); 
 
\t \t } else { 
 
\t \t \t fileDetails[0] = files[0].dataset.downloadurl; 
 
\t \t \t fileDetails[1] = files[1].dataset.downloadurl; 
 
\t \t } 
 
\t \t 
 
\t \t files[0].addEventListener("dragstart",function(evt){ 
 
\t \t \t evt.dataTransfer.setData("DownloadURL",fileDetails[0]); 
 
\t \t },false); 
 
\t \t files[1].addEventListener("dragstart",function(evt){ 
 
\t \t \t evt.dataTransfer.setData("DownloadURL",fileDetails[1]); 
 
\t \t },false); 
 
\t </script> 
 
\t 
 
</body> 
 
</html>

+1

你可以包括'html','javascript'试过了吗? – guest271314

+0

请参考我用代码示例修改它的原始问题。 – Dspinx

回答

-1

你的代码工作正常在Chrome中,FF,歌剧,Safari和微软的边缘。

为什么要在旧版浏览器上工作Microsoft no longer supports

我的建议是因为它不再被支持告诉你的用户使用supported browser

+0

该解决方案的主要目的是将功能添加到在IE上运行的SharePoint网站中...因此,Chrome和FF不适合。 – Dspinx

+0

您从未这么说过。您说过,“我尝试使用[this](http://www.thecssninja.com/javascript/gmail-dragout)资源中的代码”。我对SharePoint并不熟悉,但我确实知道它是Microsoft产品并支持Edge。 [微软不再支持IE](https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support),因此代码无效。节省头痛。 –

+0

我的坏...谢谢反正.... – Dspinx