У меня есть настройка с использованием шаблонов из моего CDN, которая обычно работает нормально, но периодически я получаю эту ошибку:
ng-error: Error: [$sce:insecurl] http://errors.angularjs.org/1.7.5/$sce/insecurl?p0=https%3A%2F%2Fcomplicemail-herokuapp-com.global.ssl.fastly.net%2Fstatic%2Ftemplates%2Fviewschedule.a15ce4bf.html
Я выделил кодовую базу для viewsched
, и буквально единственными двумя местами в коде, где этот шаблон, является мой список предварительного кэширования в моем сервисном работнике, и эта строка в файле angularjs:
$scope.scheduleTemplateUrl = $sce.trustAsResourceUrl('/templates/viewschedule.html')
Gulp превращает эту строку в ту, которая ссылается на CDN:
$scope.scheduleTemplateUrl = $sce.trustAsResourceUrl('https://complicemail-herokuapp-com.global.ssl.fastly.net/static/templates/viewschedule.a15ce4bf.html')
Я знаю, что эта часть работает, потому что ошибка insecurl показывает URL-адрес CDN.
Мое первое предположение, что проблема заключается в том, что «по какой-то причине (например, некачественный интернет) браузер не смог подключиться к CDN в тот момент и не смог получить файл, предоставив некоторый код ответа HTTP, который рассматривает AngularJS» небезопасно. Но я думаю, что это привело бы к этой проблеме (которую я также периодически получаю)
ng-error: Error: [$templateRequest:tpload] http://errors.angularjs.org/1.7.5/$templateRequest/tpload?p0=https%3A%2F%2Fcomplicemail-herokuapp-com.global.ssl.fastly.net%2Fstatic%2Ftemplates%2Ftimer%2Fuser-other.27734af8.html&p1=-1&p2=
Есть идеи? Также интересуются идеями о том, как более изящно обрабатывать ситуацию с ошибкой tpload в тех случаях, когда этот URL-адрес правильный, но в этот момент Интернет просто отключился.