我有下载pdf的模块,下载pdf时它显示加载程序,就像下面的快照一样,理想情况下,它应该在执行任务后关闭,但即使在下载文件后也要卡住,而且奇怪的是没有堆栈在Eclipse中进行跟踪,或者在浏览器控制台中没有错误。
我称之为函数的JS FILE i,它将执行tracepdf
操作
function openTraceWindow(openUrl,getData,title,stockItemId){
cqsaveTr = new Ext.Button({
text: 'OK',
id:'37',
cls : 'modalbtn',
disabled:true,
handler: function(){
try{
var myMask = new Ext.LoadMask(cqwin.el,{msg:getLoadMaskStaticText()}); // 3223
myMask.show();
cqsaveTr.disable();
document.getElementById("volumeDIV").innerHTML="";
if(document.getElementById("sellingCountry")){
if(document.getElementById("sellingCountry").value==-1){
document.getElementById("sellingCountry").value="-1";
}
}
if(document.getElementById("remarkErrorMsg")){
document.getElementById("remarkErrorMsg").innerHTML="";
}
var checkbox=document.getElementById("checkboxRS");
if(checkbox.checked){
cqformpanel.getForm().submit({
method:'POST',
encoding:'multipart/form-data',
success:function(form, action)
{ myMask.hide();
if(grid3){
grid3.getStore().reload();
grid3.getView().refresh();
document.getElementById("TRCountDIV").innerHTML=grid3.getStore().getTotalCount();
}
cqwin.close();
obj = Ext.util.JSON.decode(action.response.responseText);
document.getElementById('transactionId').value=obj.transactionID;
timedMsg();
var interval = 3000;
if(Ext.isChrome || Ext.isSafari){
interval = 5000;
}
var transactionID = obj.transactionID;
document.body.style.cursor='wait';
var myTimer = setInterval(function(){
getStockTracePDF(stockItemId,transactionID);//
IF I comment this line, it will work fine
clearInterval(myTimer);
},interval);
},
failure:function(form, action)
{ myMask.hide();
obj = Ext.util.JSON.decode(action.response.responseText);
if(!obj.success){
showErrorMessage1(obj);
cqsaveTr.enable();
}
}
});
}
else{
myMask.hide();
cqwin.close();
}
}catch(err){myMask.hide();cqsaveTr.enable();}
}
});
openDynamicWindow(openUrl,getData,title,cqsaveTr,true,modelWindowWidth2,modelWindowHeight,'Trace.htm');
}
如果我评论getStockTracePDF(stockItemId,transactionID);
加载程序将自动关闭,但是如果我取消注释此行,它将首先下载pdf,但加载程序仍在旋转。
我已经调试了代码,但是没有运气,我在调试模式下观察到的是,在下载PDF之后,动作将再次生效,但是这次没有pdf下载,我无法弄清楚为什么会一样动作打了两次,似乎建立了两个连接,一个成功关闭,第二个仍然打开。
可能是我错了,请提出建议,最后更重要的是,它仅在Mozilla firefox中发生。