可能有一種可能的解決方法。 Detecting the File Download Dialog In the Browser
<link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-3.0.0/resources/css/ext-all.css" />
<script type="text/javascript" src="http://extjs.cachefly.net/ext-3.0.0/adapter/ext/ext-base.js" />
<script type="text/javascript" src="http://extjs.cachefly.net/ext-3.0.0/ext-all.js" />
的Javascript
Ext.onReady(function(){
Ext.get('submit').on('click', function(e){
Ext.MessageBox.show({
title: 'Saving',
msg: 'Please Wait...',
buttons: Ext.Msg.OK,
progressText: 'Saving the file...',
width:350,
wait:true,
waitConfig: {duration:2000,interval:200,increment:20},
icon:'Ext.MessageBox.INFO', //custom class in msg-box.html
animEl: 'Submit'
});
setTimeout(function(){
Ext.MessageBox.hide();
Ext.example.msg('Done', 'The file download starts');
}, 8000);
});
});
CSS
/*message box */
.messagebox{position:relative;width:auto;margin-left:30px;border:1px solid #c93;background:#ffc;padding:3px;font-weight:normal;color:#0000FF; font-stretch:condensed; font-size:xx-small;}
.messageboxok{position:relative;width:auto;margin-left:30px;border:1px solid #349534;background:#C9FFCA;padding:3px;font-weight:bold;color:#008000; font-stretch:condensed; font-size:xx-small;}
.messageboxerror{position:relative;width:auto;margin-left:30px;border:1px solid #CC0000;background:#F7CBCA;padding:3px;font-weight:bold;color:#CC0000; font-stretch:condensed; font-size:xx-small;}
您可以瞭解更多關於EXTJS。
對於「下載」鏈接本身'onClick'呢? –
http://stackoverflow.com/questions/1106377/detect-when-browser-receives-file-download和http://stackoverflow.com/questions/2343418/browser-event-when-downloaded-file-is-saved -to-disk和http://stackoverflow.com/questions/19041447/ajax-file-download-progress-event-for-download可能與此有關(儘管它們不是重複的)。如果你想跟蹤下載何時完成,你可能需要重新編碼你的代碼,但是「onclick」通常應該足夠了(儘管你不一定知道用戶是否開始下載,所以idk)。 – mechalynx
@ PM77-1它有幾秒鐘纔開始下載,所以它不是一個好主意.. – linjunhalida