我通过这样做从服务器请求PDF:
html: '<embed type="application/pdf" width="1500px" height="800px" src="' + src + '"/>'
现在我知道向AJAX Request添加加载掩码非常容易,但如何将其添加到上述请求中。让我们说如果我这样做:
Ext.loadMask();
html: '<embed type="application/pdf" width="1500px" height="800px" src="' + src + '"/>'
Ext.hideMask();
甚至在从服务器返回响应之前,就会调用hideMask()。
我也尝试过onload:
html: '<embed type="application/pdf" width="1500px" height="800px" src="' + src + '" onload=' + console.log("this PDf has been loaded") + '/>'
但即使在我看到PDF
之前,这甚至会被调用答案 0 :(得分:0)
您说得对,在您提供的代码中,由于您的请求,您执行了异步代码。
你可以做的是尝试实现一个可能有效的风险事件监听器,但这是一个在不同浏览器之间争论的主题。
类似的东西:
var targetEl = document.getElementByID("target");
targetEl.innerHTML = '<embed id="embeded" type="application/pdf" width="1500px" height="800px" src="' + src + '"/>';
embeded = document.getElementByID("embeded");
embeded.addEventListener("load", function() { Ext.hideMask(); });
但是你肯定不确定这是否适用于所有浏览器。更好的选择是使用$("#embed").on('load', function() { ... });
- jQuery库。
参考文献: