如何从标记添加加载掩码到简单请求

时间:2014-12-01 18:50:40

标签: html5

我通过这样做从服务器请求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

之前,这甚至会被调用

1 个答案:

答案 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库。

参考文献: