los*_*ion 29 javascript iframe google-chrome angularjs
我试图在我的客户端上显示"掩码",而文件是动态生成的服务器端.似乎推荐解决此问题(因为它不是ajax)是使用iframe并从onload或done事件中侦听以确定文件何时实际从服务器传送到客户端.
这是我的角度代码:
var url = // url to my api
var e = angular.element("<iframe style='display:none' src=" + url + "></iframe>");
e.load(function() {
$scope.$apply(function() {
$scope.exporting = false; // this will remove the mask/spinner
});
});
angular.element('body').append(e);
Run Code Online (Sandbox Code Playgroud)
这在Firefox中运行良好但在Chrome中没有运气.我也试过使用onload函数:
e.onload = function() { //unmask here }
Run Code Online (Sandbox Code Playgroud)
但我也没有运气.
想法?
小智 11
我讨厌这个,但除了每隔一段时间检查一次之外,除了检查它是否仍在加载之外,我找不到任何其他方法.
var timer = setInterval(function () {
iframe = document.getElementById('iframedownload');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
// Check if loading is complete
if (iframeDoc.readyState == 'complete' || iframeDoc.readyState == 'interactive') {
loadingOff();
clearInterval(timer);
return;
}
}, 4000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45665 次 |
| 最近记录: |