Я пытаюсь отобразить «маску» на моем клиенте, в то время как файл динамически генерируется на стороне сервера. Похоже, что рекомендуется работать для этого (так как это не ajax) заключается в использовании iframe и прослушивании из события onload или done, чтобы определить, когда файл фактически отправлен клиенту с сервера.Событие «load» не запускается, когда iframe загружается в Chrome
вот мой угловой код:
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);
Это отлично работает в Firefox, но не повезло в Chrome. Я также попытался использовать функцию onload:
e.onload = function() { //unmask here }
Но мне тоже не повезло.
Идеи?
Вы пытались добавить нагрузку непосредственно в html iframe? У меня были некоторые проблемы с заказом, в котором Chrome загружает элементы и связанные с ними события в прошлом. – cronoklee
Yup просто попробовал. По-прежнему срабатывает FF, но не в Chrome. – lostintranslation
Хмм, а как насчет URL? Вы не собираетесь перекрестный домен, не так ли? – cronoklee