Ext JS refresh()卡在mozilla firefox中

时间:2019-08-05 05:22:05

标签: javascript java struts2

我有下载pdf的模块,下载pdf时它显示加载程序,就像下面的快照一样,理想情况下,它应该在执行任务后关闭,但即使在下载文件后也要卡住,而且奇怪的是没有堆栈在Eclipse中进行跟踪,或者在浏览器控制台中没有错误。

enter image description here

我称之为函数的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中发生。

0 个答案:

没有答案