領導給安排的任務,數據導出功能,加個等待效果。
當時我就想,這玩意實現不了啊,因為整個是通過iframe下載的,后台直接返回的文件流,沒辦法執行js代碼啊
然后我想到了iframe的onload事件就試了一下,不好使啊,然后網上搜了一下,還真搜到了,通過判斷iframe的document的readyState。
代碼如下:
// 使用定時器輪詢iframe的readyState,判斷下載是否完成(彈出下載框或者開始下載) var timer = setInterval(function () { var iframeDoc = excelIFrame.contentDocument || excelIFrame.contentWindow.document; // Check if loading is complete if (iframeDoc.readyState == 'complete' || iframeDoc.readyState == 'interactive') { // do something clearInterval(timer); return; } }, 500);