Проблема AngularJS: $sce:insecurl несмотря на $sce.trustAsResourceUrl

У меня есть настройки с использованием шаблонов из моего 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')

Гулп превращает эту строку в ту, которая ссылается на 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-адрес правильный, но в этот момент Интернет просто отключился.

0 ответов

Другие вопросы по тегам