AngularJS问题:尽管有$ sce.trustAsResourceUrl

时间:2019-03-26 17:29:54

标签: angularjs cdn angularjs-templates angularjs-sce

我使用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错误显示CDN URL。

我的第一个猜测是,该问题类似于“由于某种原因(例如互联网伪劣),浏览器当时无法与CDN连接并且无法获取文件,从而给出了AngularJS认为的某种HTTP响应代码不安全,但是我认为这会产生此问题(我也定期得到此问题)

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 个答案:

没有答案