Please try this listener
listener: function () {
var grid = this;
grid.showLoading();
var cnt1 = $(document).find("iframe[src*=pq_filename]").length;
var intv = setInterval(function(){
var frames = $(document).find("iframe[src*=pq_filename]");
var cnt2 = frames.length, iframe;
if(cnt2 > cnt1){
clearInterval(intv);
iframe = frames[frames.length - 1];
intv = setInterval(function(){
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
// Check if loading is complete
if (iframeDoc.readyState == 'complete'){ //|| iframeDoc.readyState == 'interactive')
{
grid.hideLoading();
clearInterval(intv);
}
}, 300)
}
},300)
this.exportData({
url: "/pro/demos/exportData",
format: $("#export_format").val(),
zip: $("#export_zip").prop("checked"),
nopqdata: true, //applicable for JSON export.
render: true
});
}